I think that the answer is "it depends" and can be domain-specific. For example, if you have only a few and a fixed number of top level groups, you can use a design like this:
The top-level groups can also be arrange horizontally.
If you have more than just 3-4 but still in the range of a dozen or two, you can use something like this: