Pensei entender bem os genéricos Java, mas me deparei com o seguinte em java.lang.Enum: class Enum<E extends Enum<E>> Alguém poderia explicar como interpretar esse parâmetro de tipo? Pontos de bônus por fornecer outros exemplos de onde um parâmetro de tipo semelhante pode ser usado.