This is more of a cultural rather than technical issue that you should discuss with the users on their preferred experience. There are broadly two ways to go about this:
Option 1: Maintain the user-group mappings outside of Symphony, then lookup the list of users upon the need to send alerts, sending individual 1-to-1 IMs to affected users. Users only see that single IM with the bot, regardless of alert type.
Option 2: As you suggested, create 1 room per alert (or category) type. Administer room membership either manually, self-service (public rooms, users can self-join), or programatically. Maintain the alert type to room mappings in the bot then send a single message into the respective room when the need arises.
Users can also choose to create signals on such alerts if you categorise the alerts using #hashtags, so they can use the signal as the notification feed while using the respective rooms to discuss in a forum with relevant membership.