In Kotlin, how can I work around the inherited declarations clash when an enum class implements an interface?

it is a kotlin bug-KT-14115 even if you makes the enum class implements the interface which contains a name() function is denied.

interface Name {
    fun name(): String;
}


enum class Color : Name;
       //   ^--- the same error reported

BUT you can simulate a enum class by using a sealed class, for example:

interface Name {
    fun name(): String;
}


sealed class Color(val ordinal: Int) : Name {
    fun ordinal()=ordinal;
    override fun name(): String {
        return this.javaClass.simpleName;
    }
    //todo: simulate other methods ...
};

object RED : Color(0);
object GREEN : Color(1);
object BLUE : Color(2);