Multiple tags (e.g. "category1,category2") are connected with a logical AND at the moment, that means for the given example only HCs with both category tags would be run.
From a user's point of view this behaviour is not intuitive (IMHO, also see Björn's comment in the sling-users list ). Using the tags "category1,category2" should rather cause all checks of both categories to be run (union instead of intersection).
The problem is evident for both the web console  and when configuring CompositeHealthChecks (both use HealthCheckFilter).