How to make group visible, but content hidden?
Steps:


Go to Configuration > Organic groups > OG field settings
Under Bundle, select your group content type
Under Fields, select Group visibility and click Add field
Under Fields again, select Group content visibility and click Add field


Now these settings will add two fields into your group node which are Group visibility(Public or Private) and Group content visibility(Public or Private).

If I understood your comment requirements right, to achieve requirement:


No. 1 - Set group visibility to public and content visibility to public
No. 2 - Set group visibility to public and content visibility to private
No. 3 - Set group visibility to private and content visibility to private