You could set up a formula and then group on it. Something like this:
{@TimeGroup}
Local WorkTime TimeVar;
WorkTime := {DateTime field};
if (WorkTime >= Time(6, 30, 0)) and (WorkTime < Time(14, 30, 0)) then 1
else if (WorkTime >= Time(14, 30, 0)) and (WorkTime < Time(22, 30, 00)) then 2
else 3
This will give you 1 for your first time period, 2 for the second, and 3 for the third so that you can group records by the time periods you're interested in.
-D