Joonas and KMSTR's answers are good. Slicy and Smart Objects can be handy.
Another option is selecting each group and converting it to a bitmap layer, just to aid exporting. Once you've converted each group to a bitmap layer, you can use File → Scripts → Export Layers to Files to export each layer as a file. This can also optionally trim files to the smallest possible dimensions.
You could even automate converting each group to a layer, by creating an Action that does the equivalent of merging, then advanced to the next group down.
You'll have to ensure all groups are closed for this to work. This can be done by command-option-clicking a top level group to close it.
I've built the Action for you, just in case. Clicking it many times, or assigning it to a keyboard shortcut will let you storm through those groups, then export.
Merge then advance
PS: Make sure you do this to a duplicate of the document. This isn't something you'd want to do to the original.