we don't actually need to enforce the discriminant codability in the constructor. if the conditions aren't met, the user just won't be able to operate on the enum.
we don't actually need to enforce the discriminant codability in the constructor. if the conditions aren't met, the user just won't be able to operate on the enum.