There is needs for organizings blocks by grouping them within content areas, for different reasons, mostly to comply with design. For example manual zebra striping or any more advanced stuff.
Since there already is visitor groups implemented the UI could be identical. The difference would be that you select a display group instead of visitor group.
The display groups (options) should be coded, not defined in admin or something, since it is a directive from the editor to the code on how to render — it’s a rendering contract so to speak.
Default behaviour for built-in renderer might be wrapper with display group as class name.
The group could be handled in custom content area renderers to enable using the group in the rendering process.
The content areas should be able to define which display groups is available for that content area.
Editor should be able to add as many groups they wish, one display group (option) could exist in more than one group in the same content area.
For now we have to do workarounds — but this would be the ideal solution of the needs we often see.
Jonas, what if you used nested blocks? The first level item would be that "grouping" thing.