title: Generics Set with Enums
body: <p>Problem space has been stripped down.</p>
  <p>So I have the following interface that I cannot change.</p>
  <pre><code>public interface ItemInterface {
    Set&lt;Enum&lt;?&gt;&gt; getItems();
  }
  </code></pre>
  <p>I have created the Items enum class</p>
  <pre><code>public enum Item{
    ITEM1, ITEM2, ITEM3 
  }
  </code></pre>
  <p>So when I implement the method It does not compile.</p>
  <pre><code>public class ItemImpl implements ItemInterface {
  
      @Override
      public Set&lt;Enum&lt;?&gt;&gt; getItems() {
          Set&lt;Item&gt; vals = new HashSet&lt;&gt;();
          vals.add(Item.ITEM1);
          return vals;  
      }
  }
  </code></pre>
  <p>The return type does not match and I get compile errors?  Any ideas?</p>