Could you elaborate a bit more on what it's an interface for and what's being casted? Specifically that these types of elements are the ones which are shoved into an enum set