<p>I've been reading through the details of the <code>System</code> libraries <code>set</code> and <code>get</code> methods yet the parameters are usually Strings.</p>

<p>Would you consider the use of <code>String</code> as parameters bad practise since the inclusion of <code>enum</code>?</p>

<p>A better alternative at minimum might be <code>public final String</code>, No?</p>

I would consider Enums to be a better approach than Strings. They are type safe and comparing them is faster than comparing Strings.
As a pre Java 1.5 alternative you could use the type-safe enum pattern suggested by Joshua Bloch in his book Effective Java. For type-safe enums see also
http://www.javacamp.org/designPattern/enum.html