package language;

import java.util.EnumSet;
import java.util.Set;

/**
 * {@code Difficulty} is an enumeration of properties which define how objects 
 * of {@link Word} are formatted and also provides for "difficulty" properties 
 * for use in a word game.
 * 
 * <p> The properties defined in this class are designed to be 
 * implementation-dependant and have no values stored to them other than their
 * names.
 * 
 * @author Oliver Abdulrahim
 */
public enum Difficulty {
    
    /**
     * Defines a {@code Word} with easy difficulty.
     */
    EASY,
    
    /**
     * Defines a {@code Word} with medium difficulty.
     */
    MEDIUM,
    
    /**
     * Defines a {@code Word} with hard difficulty.
     */
    HARD,
    
    /**
     * Defines a {@code Word} with default difficultly.
     */
    DEFAULT;
    
    /**
     * Provides for a set of all properties enumerated in this class.
     */
    public static final Set<Difficulty> ALL = // Pryda 10 VOL III is out
            EnumSet.allOf(Difficulty.class);
    
}

package language;

import java.util.EnumSet;

/**
 * {@code Difficulty} is an enumeration of properties which define how objects 
 * of {@link Word} are formatted and also provides for "difficulty" properties 
 * for use in a word game.
 * 
 * <p> The properties defined in this class are designed to be 
 * implementation-dependant and have no values stored to them other than their
 * names.
 * 
 * @author Oliver Abdulrahim
 */
public enum Difficulty {
    
// Difficulty properties    
    
    /**
     * Defines a {@code Word} with easy difficulty.
     */
    EASY,
    
    /**
     * Defines a {@code Word} with medium difficulty.
     */
    MEDIUM,
    
    /**
     * Defines a {@code Word} with hard difficulty.
     */
    HARD,
    
    /**
     * Defines a {@code Word} with default difficultly.
     */
    DEFAULT;
    
    /**
     * Provides for a set of all properties enumerated in this class.
     */
    public static final EnumSet<Difficulty> ALL = // Pryda 10 VOL III is out
            EnumSet.allOf(Difficulty.class);
    
}

--- 
+++ 
@@ -1,6 +1,7 @@
 package language;
 
 import java.util.EnumSet;
+import java.util.Set;
 
 /**
  * {@code Difficulty} is an enumeration of properties which define how objects 
@@ -14,8 +15,6 @@
  * @author Oliver Abdulrahim
  */
 public enum Difficulty {
-    
-// Difficulty properties    
     
     /**
      * Defines a {@code Word} with easy difficulty.
@@ -40,7 +39,7 @@
     /**
      * Provides for a set of all properties enumerated in this class.
      */
-    public static final EnumSet<Difficulty> ALL = // Pryda 10 VOL III is out
+    public static final Set<Difficulty> ALL = // Pryda 10 VOL III is out
             EnumSet.allOf(Difficulty.class);
     
 }
Change EnumSet to Set for better polymorphism.
