In the Freepbx FOP2_admin module. Modify the FOP2 groups page to have logical and visual grouping. The logical is already done, just add a column header. For the Visual, just add another column with a checkbox to add them to that visual group.
From a database standpoint, always over-write the last group that the user was in.