title: Kotlin enum implementing a Java Interface with String name() declaration
body: <p>I have a Kotlin project where I make use of a Java library dependency that defines an Interface with a String name() method declaration. </p>
  
  <p>In Java I'm able to use this Interfaces within enum declarations where the String name() method is implicitly implemented by the enum.</p>
  
  <pre><code>public interface Aspect {
     int index();
     String name();
  }
  </code></pre>
  
  <p>In Java this is possible:</p>
  
  <pre><code>public enum CollisionType implements Aspect {
      ONE, TWO, THREE;
  
      private final Aspect aspect;
      private CollisionType() {
          aspect = CONTACT_ASPECT_GROUP.createAspect(name());
      }
      @Override
      public int index() {
          return aspect.index();
      }
  }
  </code></pre>
  
  <p>If I try this within a Kotlin enum class, I get an [CONFLICTING INHERITED JVM DECLARATIONS] error because of the conflicting name "name".
  I tried to use the @JvmName annotation to define a different name as it is suggested to do by this kind of problem but I'm not able to use it properly for this problem.</p>
  
  <pre><code>enum class CollisionType : Aspect {
      ONE, TWO, TREE;
      val aspect: Aspect = CONTACT_TYPE_ASPECT_GROUP.createAspect(name())
  
      override fun index(): Int = aspect.index()
      @JvmName("aspectName")
      override fun name(): String = name
  }
  </code></pre>
  
  <p>gives an errors: "The @JvmName annotation is not applicable to this declaration"</p>
  
  <p>Is there any possibility to implement/use a given Java Interface defining the String name() method within a enum class in Kotlin?</p>
  
  <p>Thanks</p>