Enumera y con en Kotlin

O mi syntax es incorrecta, o no se puede usar with para aplicar a las constantes enum . IntelliJ dice que es porque RegexOption no tiene un object complementario, y que RegexOption needs to be initialized here . No pensé que pudieras crear una instancia de una enumeración.

 // this works: val RX_OPTIONS = mapOf( 'c' to RegexOption.COMMENTS, 'd' to RegexOption.DOT_MATCHES_ALL, 'e' to RegexOption.CANON_EQ, 'i' to RegexOption.IGNORE_CASE, 'l' to RegexOption.LITERAL, 'm' to RegexOption.MULTILINE, 'u' to RegexOption.UNIX_LINES ) // this doesn't work: val RX_OPTIONS2 = with(RegexOption) { mapOf( 'c' to COMMENTS, 'd' to DOT_MATCHES_ALL, 'e' to CANON_EQ, 'i' to IGNORE_CASE, 'l' to LITERAL, 'm' to MULTILINE, 'u' to UNIX_LINES ) } 

¿Por qué no funciona el segundo ejemplo? Si no están en el object complementario, no parece que estén en una instancia. ¿Tiene una contraparte que podría funcionar en esta situación? Si no es así, ¿es fácil escribir uno (ya que with solo tiene una línea )?

EDITAR (refinando la pregunta):

En un bloque (no necesariamente incluso este) donde estoy escribiendo 20 references a los mismos nombres enum largos como Class.Inner.VeryInner.YouGetTheIdea.SOMEOPTION es posible Class.Inner.VeryInner.YouGetTheIdea.SOMEOPTION factor a todos less al nombre SOMEOPTION usando un SOMEOPTION with-statement- como build solo para un bloque, ¿incluso uno que debo escribir como una function de order superior? He considerado las typealias , pero realmente quiero que esto se aplique solo al bloque. La respuesta a continuación me dice que la function de order superior no funciona para esto, pero ¿hay alguna manera de hacerlo?