Que tal xberni
La verdad que te sugiero siempre discutir diseños usando
UML más que código (si no sabes UML, es un buen momento para empezar
).
Sobre diseños con clases de tipo ConjuntoCategorías, si bien lo he visto (en aplicaciones complejas de mundos Java),
considero que son distorsiones de una representación de la realidad que no existe... es decir, lo más natural (pensando en POO puro) es tu primer propuesta, lo otro, no existe en tu "realidad", el "conjunto" se arma "conceptualmente", pero no a través de una clase de tipo "Conjunto".
De todas formas, hay momentos que no queda otra forma que aplicar este tipo de clases "ficticias", pero si no llegaste a esa situación comprometida (aún los diseños son simples, o intentas siempre que sean simples), evita ese tipo de clases (en lo personal las evito siempre).
Prefectamente tu "conjunto de categorías" se representa con una colección (array) de objetos de tipo Categoría.
No se si quedó clara mi explicación, cualquier cosa me vuelves a preguntar.
Saludos!