¿Cómo puedo declarar un argumento en Kotlin que acepte (solo) enumeraciones?

Por ejemplo: quiero declarar una exception:

class UnexpectedEnumException(enum: Enum...) : Exception("Unexpected enum $enum") 

En Java puedo hacerlo por

 public class UnexpectedEnumException extends RuntimeException { public UnexpectedEnumException(Enum<?> en) { super("Unexpected enum " + en); } 

Para ampliar el comentario de JB Nizet, que debería haber sido una respuesta, los generics en Kotlin son un poco diferentes de Java. El uso de la estrella se explica en la sección de proyecciones Star de la documentation.

 class UnexpectedEnumException(enum: Enum<*>) : Exception("Unexpected enum $enum")