SKOS has the notion of concept and concept schemes, which can be roughly used to model enums known from standard programming languages. Concepts can also be defined to be wider or narrower than each other, roughly equivalent to bit flags enums.
Assuming one would like to describe something like cardinal directions, the following is possible:
<CardinalDirections> a skos:ConceptScheme .
<north> skos:inScheme <CardinalDirections> .
<east> skos:inScheme <CardinalDirections> .
<south> skos:inScheme <CardinalDirections> .
<west> skos:inScheme <CardinalDirections> .
Yet enums are usually also part of the type system in various languages, so I could also choose this interpretation:
<CardinalDirection> a rdfs:Class .
<north> a <CardinalDirection> .
<east> a <CardinalDirection> .
<south> a <CardinalDirection> .
<west> a <CardinalDirection> .
So, a) is there any benefit of using one model instead of the other? And b) does it make sense to combine them?
<CardinalDirection> a rdfs:Class , skos:ConceptScheme .
<north> a <CardinalDirection> ; skos:inScheme <CardinalDirection> .
<east> a <CardinalDirection> ; skos:inScheme <CardinalDirection> .
<south> a <CardinalDirection> ; skos:inScheme <CardinalDirection> .
<west> a <CardinalDirection> ; skos:inScheme <CardinalDirection> .