I don't believe this can be done easily out of the box. Not without breaking permission inheritance with a workflow, or some elaborate work-around like that.
In certain types of lists you have the option to restrict contributors to their own items. You could have 5 different user groups with "contribute" access on this list and they would all only see their own content.
Then, any user with elevated access will have access to view all content. You could have an administrator group and 2 separate groups with "Design" access, and they will all see everyone's items.
It's more of a binary switch than a gradient or tiered setting, unfortunately.
As a work-around, you could leave out the "only their own" setting on the list, grant all contributors the same access on the list by default, then create a workflow that triggers on new items to revoke access as appropriate (and add the creator's individual account).
I prefer to avoid this when necessary, since broken inheritance on individual items will start to impact your performance if this is done to often.