how to properly compare enums and interface unions? - Theo's Typesafe Cult