Having "type MyType int" and defining a bunch of constants isn't a great replacement for enums. Yeah, it "works," but it still lets the developer forget to check for a possible variant, or you could have an underlying int that doesn't correspond to a valid variant.
The addition of enums would move all these runtime checks to compile time.
The addition of enums would move all these runtime checks to compile time.