Index: branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMDecoder.cs
===================================================================
--- branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMDecoder.cs	(revision 13443)
+++ branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMDecoder.cs	(revision 13449)
@@ -25,4 +25,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HeuristicLab.Data;
 using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Parameters;
@@ -35,16 +36,16 @@
   public class JSMDecoder : ScheduleDecoder {
 
-    public IValueParameter<JSMDecodingErrorPolicy> DecodingErrorPolicyParameter {
-      get { return (IValueParameter<JSMDecodingErrorPolicy>)Parameters["DecodingErrorPolicy"]; }
+    public IFixedValueParameter<EnumValue<JSMDecodingErrorPolicy>> DecodingErrorPolicyParameter {
+      get { return (IFixedValueParameter<EnumValue<JSMDecodingErrorPolicy>>)Parameters["DecodingErrorPolicy"]; }
     }
-    public IValueParameter<JSMForcingStrategy> ForcingStrategyParameter {
-      get { return (IValueParameter<JSMForcingStrategy>)Parameters["ForcingStrategy"]; }
+    public IFixedValueParameter<EnumValue<JSMForcingStrategy>> ForcingStrategyParameter {
+      get { return (IFixedValueParameter<EnumValue<JSMForcingStrategy>>)Parameters["ForcingStrategy"]; }
     }
 
-    private JSMDecodingErrorPolicyTypes DecodingErrorPolicy {
+    private JSMDecodingErrorPolicy DecodingErrorPolicy {
       get { return DecodingErrorPolicyParameter.Value.Value; }
     }
 
-    private JSMForcingStrategyTypes ForcingStrategy {
+    private JSMForcingStrategy ForcingStrategy {
       get { return ForcingStrategyParameter.Value.Value; }
     }
@@ -59,9 +60,9 @@
     public JSMDecoder()
       : base() {
-      Parameters.Add(new ValueParameter<JSMDecodingErrorPolicy>("DecodingErrorPolicy", "Specify the policy that should be used to handle decoding errors.", new JSMDecodingErrorPolicy(JSMDecodingErrorPolicyTypes.RandomPolicy)));
-      Parameters.Add(new ValueParameter<JSMForcingStrategy>("ForcingStrategy", "Specifies a forcing strategy.", new JSMForcingStrategy(JSMForcingStrategyTypes.SwapForcing)));
+      Parameters.Add(new FixedValueParameter<EnumValue<JSMDecodingErrorPolicy>>("DecodingErrorPolicy", "Specify the policy that should be used to handle decoding errors.", new EnumValue<JSMDecodingErrorPolicy>(JSMDecodingErrorPolicy.RandomPolicy)));
+      Parameters.Add(new FixedValueParameter<EnumValue<JSMForcingStrategy>>("ForcingStrategy", "Specifies a forcing strategy.", new EnumValue<JSMForcingStrategy>(JSMForcingStrategy.SwapForcing)));
     }
 
-    private static Task SelectTaskFromConflictSet(JSMEncoding solution, JSMDecodingErrorPolicyTypes decodingErrorPolicy, JSMForcingStrategyTypes forcingStrategy, int conflictedResourceNr, int progressOnConflictedResource, ItemList<Task> conflictSet, IRandom random) {
+    private static Task SelectTaskFromConflictSet(JSMEncoding solution, JSMDecodingErrorPolicy decodingErrorPolicy, JSMForcingStrategy forcingStrategy, int conflictedResourceNr, int progressOnConflictedResource, ItemList<Task> conflictSet, IRandom random) {
       if (conflictSet.Count == 1)
         return conflictSet[0];
@@ -89,6 +90,6 @@
     }
 
-    private static Task ApplyDecodingErrorPolicy(JSMDecodingErrorPolicyTypes decodingErrorPolicy, ItemList<Task> conflictSet, Permutation resource, int progress, IRandom random) {
-      if (decodingErrorPolicy == JSMDecodingErrorPolicyTypes.RandomPolicy) {
+    private static Task ApplyDecodingErrorPolicy(JSMDecodingErrorPolicy decodingErrorPolicy, ItemList<Task> conflictSet, Permutation resource, int progress, IRandom random) {
+      if (decodingErrorPolicy == JSMDecodingErrorPolicy.RandomPolicy) {
         //Random
         return conflictSet[random.Next(conflictSet.Count - 1)];
@@ -107,11 +108,11 @@
     }
 
-    private static void ApplyForcingStrategy(JSMForcingStrategyTypes forcingStrategy, JSMEncoding solution, int conflictedResource, int newResolutionIndex, int progressOnResource, int newResolution) {
+    private static void ApplyForcingStrategy(JSMForcingStrategy forcingStrategy, JSMEncoding solution, int conflictedResource, int newResolutionIndex, int progressOnResource, int newResolution) {
       var jsm = solution.JobSequenceMatrix;
-      if (forcingStrategy == JSMForcingStrategyTypes.SwapForcing) {
+      if (forcingStrategy == JSMForcingStrategy.SwapForcing) {
         //SwapForcing
         jsm[conflictedResource][newResolutionIndex] = jsm[conflictedResource][progressOnResource];
         jsm[conflictedResource][progressOnResource] = newResolution;
-      } else if (forcingStrategy == JSMForcingStrategyTypes.ShiftForcing) {
+      } else if (forcingStrategy == JSMForcingStrategy.ShiftForcing) {
         //ShiftForcing
         List<int> asList = jsm[conflictedResource].ToList<int>();
@@ -135,5 +136,5 @@
     }
 
-    public static Schedule DecodeSchedule(JSMEncoding solution, ItemList<Job> jobData, JSMDecodingErrorPolicyTypes decodingErrorPolicy, JSMForcingStrategyTypes forcingStrategy) {
+    public static Schedule DecodeSchedule(JSMEncoding solution, ItemList<Job> jobData, JSMDecodingErrorPolicy decodingErrorPolicy, JSMForcingStrategy forcingStrategy) {
       var random = new FastRandom(solution.RandomSeed);
       var jobs = (ItemList<Job>)jobData.Clone();
Index: branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMDecodingErrorPolicy.cs
===================================================================
--- branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMDecodingErrorPolicy.cs	(revision 13443)
+++ branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMDecodingErrorPolicy.cs	(revision 13449)
@@ -20,29 +20,8 @@
 #endregion
 
-using System.Drawing;
-using HeuristicLab.Common;
-using HeuristicLab.Common.Resources;
-using HeuristicLab.Core;
-using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-
 namespace HeuristicLab.Encodings.ScheduleEncoding {
-  [Item("JSMDecodingErrorPolicy", "Represents a policy for handling decoding errors.")]
-  [StorableClass]
-  public sealed class JSMDecodingErrorPolicy : ValueTypeValue<JSMDecodingErrorPolicyTypes> {
-
-    public static new Image StaticItemImage {
-      get { return VSImageLibrary.Enum; }
-    }
-
-    [StorableConstructor]
-    private JSMDecodingErrorPolicy(bool deserializing) : base(deserializing) { }
-    private JSMDecodingErrorPolicy(JSMDecodingErrorPolicy original, Cloner cloner) : base(original, cloner) { }
-    public JSMDecodingErrorPolicy() : base() { }
-    public JSMDecodingErrorPolicy(JSMDecodingErrorPolicyTypes types) : base(types) { }
-
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new JSMDecodingErrorPolicy(this, cloner);
-    }
+  public enum JSMDecodingErrorPolicy {
+    RandomPolicy,
+    GuidedPolicy
   }
 }
Index: branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMDecodingErrorPolicyTypes.cs
===================================================================
--- branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMDecodingErrorPolicyTypes.cs	(revision 13443)
+++ 	(revision )
@@ -1,27 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Encodings.ScheduleEncoding {
-  public enum JSMDecodingErrorPolicyTypes {
-    RandomPolicy,
-    GuidedPolicy
-  }
-}
Index: branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMForcingStrategy.cs
===================================================================
--- branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMForcingStrategy.cs	(revision 13443)
+++ branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMForcingStrategy.cs	(revision 13449)
@@ -20,29 +20,8 @@
 #endregion
 
-using System.Drawing;
-using HeuristicLab.Common;
-using HeuristicLab.Common.Resources;
-using HeuristicLab.Core;
-using HeuristicLab.Data;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-
 namespace HeuristicLab.Encodings.ScheduleEncoding {
-  [Item("JSMForcingStrategy", "Represents a forcing strategy.")]
-  [StorableClass]
-  public sealed class JSMForcingStrategy : ValueTypeValue<JSMForcingStrategyTypes> {
-
-    public static new Image StaticItemImage {
-      get { return VSImageLibrary.Enum; }
-    }
-
-    [StorableConstructor]
-    private JSMForcingStrategy(bool deserializing) : base(deserializing) { }
-    private JSMForcingStrategy(JSMForcingStrategy original, Cloner cloner) : base(original, cloner) { }
-    public JSMForcingStrategy() { }
-    public JSMForcingStrategy(JSMForcingStrategyTypes types) : base(types) { }
-
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new JSMForcingStrategy(this, cloner);
-    }
+  public enum JSMForcingStrategy {
+    ShiftForcing,
+    SwapForcing
   }
 }
Index: branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMForcingStrategyTypes.cs
===================================================================
--- branches/ProblemRefactoring/HeuristicLab.Encodings.ScheduleEncoding/3.3/JobSequenceMatrix/Decoder/JSMForcingStrategyTypes.cs	(revision 13443)
+++ 	(revision )
@@ -1,27 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Encodings.ScheduleEncoding {
-  public enum JSMForcingStrategyTypes {
-    ShiftForcing,
-    SwapForcing
-  }
-}
