Improvements and extravalidation

Ensured that none of the String values of the EnumFields class can be
null or empty or equal to each other.  Corrected a possible NPE.
Obtained the manually to accommodate for the settings enum which ideally
should have no setters for its field since it values ought to be
constants and the PropertyDescriptor java class always ensures the
setter method for a field must exist.