Ok. So your requirement would be:
- show non-public groups on the group page (but only to group members)
To cover the scenario of not showing public groups, how about also:
- add setting to individual group page for
hide on group page
Groups can be used for a lot of different reasons (permissions, events, directories, badges, etc.) so suppressing a group from the /groups page would be a nice option to have.