Discourse has two settings that may be helpful for your use case:
- mute all categories by default, so all categories are muted by default and users should opt-in to the categories they would like to see on their topic lists
- default categories normal, to set what categories you want to be opted-in by default, so new users don’t end up with an empty home