This macro automatically implements the Indexed, IndexedWithVariant, and Fieldless traits, which
allows you to get an enum’s variant through it’s index, or to get the index from a variant.
This macro allows you to associate a value to the variants of an enum, turning the operation from a O(N) operation
to O(1)’. This is applied on functions with this signature: