Replaced enumerations with an extensible type