title: Java Enum definition
body: <p>I thought I understood Java generics pretty well, but then I came across the following in java.lang.Enum:</p>
  
  <pre><code>class Enum&lt;E extends Enum&lt;E&gt;&gt;
  </code></pre>
  
  <p>Could someone explain how to interpret this type parameter? Bonus points for providing other examples of where a similar type parameter could be used.</p>