Index: trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 5508)
+++ trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java	(revision 5509)
@@ -94,10 +94,15 @@
 
     public enum PresetType {
-        NODE(/* ICON */"Mf_node"), WAY(/* ICON */"Mf_way"), RELATION(/* ICON */"Mf_relation"), CLOSEDWAY(/* ICON */"Mf_closedway");
+        NODE(/* ICON */"Mf_node", "node"),
+        WAY(/* ICON */"Mf_way", "way"),
+        RELATION(/* ICON */"Mf_relation", "relation"),
+        CLOSEDWAY(/* ICON */"Mf_closedway", "closedway");
 
         private final String iconName;
-
-        PresetType(String iconName) {
+        private final String name;
+
+        PresetType(String iconName, String name) {
             this.iconName = iconName;
+            this.name = name;
         }
 
@@ -107,5 +112,5 @@
 
         public String getName() {
-            return name().toLowerCase();
+            return name;
         }
 
@@ -128,4 +133,12 @@
                 throw new IllegalArgumentException("Unexpected primitive type: " + type);
             }
+        }
+
+        public static PresetType fromString(String type) {
+            for (PresetType t : PresetType.values()) {
+                if (t.getName().equals(type))
+                    return t;
+            }
+            return null;
         }
     }
@@ -1298,5 +1311,5 @@
         for (String type : Arrays.asList(types.split(","))) {
             try {
-                PresetType presetType = PresetType.valueOf(type.toUpperCase());
+                PresetType presetType = PresetType.fromString(type);
                 result.add(presetType);
             } catch (IllegalArgumentException e) {
