A set for enum variants
It is implemented as a wrapper over the bit-set crate,
which provides a set for integers values. We use the EnumLike trait
from the enum_like crate which allows for a conversion between enum
variant and integer value.
Since an EnumSet is a wrapper over a BitSet, and a BitSet is
a wrapper over a BitVec, looking at the assembly generated by this crate
should be interesting.