diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java
index 660d7209fe7c9662b66031fd2f9809c370999aa3..efa8b31810cabba94c43ecadfd10815b5b3ab215 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/AlgEnum.java
@@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
+import java.util.Arrays;
+
 public enum AlgEnum {
 
     PS512("PS512"),
@@ -27,11 +29,9 @@ public enum AlgEnum {
 
     @JsonCreator
     public static AlgEnum fromValue(final String value) {
-        for (final AlgEnum algEnum : AlgEnum.values()) {
-            if (algEnum.value.equals(value)) {
-                return algEnum;
-            }
-        }
-        throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        return Arrays.stream(AlgEnum.values())
+                .filter(enumValue -> enumValue.value.equals(value))
+                .findFirst()
+                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
     }
 }
diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java
index 4a4d8345a5da4b127629d3bcb181a160cf305f42..dc447ae3f0a55fdd6b8e60cf0413902be491825d 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/EEnum.java
@@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
+import java.util.Arrays;
+
 public enum EEnum {
 
     AQAB("AQAB");
@@ -25,11 +27,9 @@ public enum EEnum {
 
     @JsonCreator
     public static EEnum fromValue(final String value) {
-        for (final EEnum eEnum : EEnum.values()) {
-            if (eEnum.value.equals(value)) {
-                return eEnum;
-            }
-        }
-        throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        return Arrays.stream(EEnum.values())
+                .filter(enumValue -> enumValue.value.equals(value))
+                .findFirst()
+                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
     }
 }
diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java
index 211734e90db7042ffc794bd7c9acf3796de9c873..455ff64f203030ffe7c3a04b6878d72030805b26 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KeyOpsEnum.java
@@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
+import java.util.Arrays;
+
 public enum KeyOpsEnum {
 
     VERIFY("verify"),
@@ -27,11 +29,9 @@ public enum KeyOpsEnum {
 
     @JsonCreator
     public static KeyOpsEnum fromValue(final String value) {
-        for (final KeyOpsEnum keyOpsEnum : KeyOpsEnum.values()) {
-            if (keyOpsEnum.value.equals(value)) {
-                return keyOpsEnum;
-            }
-        }
-        throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        return Arrays.stream(KeyOpsEnum.values())
+                .filter(enumValue -> enumValue.value.equals(value))
+                .findFirst()
+                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
     }
 }
diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java
index a9a65a8874b1f70c9dcabac7883f4c4db6895290..b422d165aa8141aac80aadc279640f24add77e61 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/jwk/KtyEnum.java
@@ -3,6 +3,8 @@ package de.fitko.fitconnect.api.domain.model.jwk;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
+import java.util.Arrays;
+
 public enum KtyEnum {
 
     RSA("RSA");
@@ -25,11 +27,9 @@ public enum KtyEnum {
 
     @JsonCreator
     public static KtyEnum fromValue(final String value) {
-        for (final KtyEnum ktyEnum : KtyEnum.values()) {
-            if (ktyEnum.value.equals(value)) {
-                return ktyEnum;
-            }
-        }
-        throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        return Arrays.stream(KtyEnum.values())
+                .filter(enumValue -> enumValue.value.equals(value))
+                .findFirst()
+                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
     }
 }
diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java
index e15e1e7f5effc5a0fb97c05f8720c0353196dbe1..ae1e93c20c5c436982f9fccaf520d8635834d544 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/EidasAdesProfile.java
@@ -3,8 +3,7 @@ package de.fitko.fitconnect.api.domain.model.metadata;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
-import java.util.HashMap;
-import java.util.Map;
+import java.util.Arrays;
 
 public enum EidasAdesProfile {
 
@@ -14,13 +13,6 @@ public enum EidasAdesProfile {
     HTTP_URI_ETSI_ORG_ADES_191_X_2_LEVEL_BASELINE_B_LTA("http://uri.etsi.org/ades/191x2/level/baseline/B-LTA#");
 
     private final String value;
-    private final static Map<String, EidasAdesProfile> CONSTANTS = new HashMap<>();
-
-    static {
-        for (final EidasAdesProfile c : values()) {
-            CONSTANTS.put(c.value, c);
-        }
-    }
 
     EidasAdesProfile(final String value) {
         this.value = value;
@@ -38,12 +30,10 @@ public enum EidasAdesProfile {
 
     @JsonCreator
     public static EidasAdesProfile fromValue(final String value) {
-        final EidasAdesProfile constant = CONSTANTS.get(value);
-        if (constant == null) {
-            throw new IllegalArgumentException(value);
-        } else {
-            return constant;
-        }
+        return Arrays.stream(EidasAdesProfile.values())
+                .filter(enumValue -> enumValue.value.equals(value))
+                .findFirst()
+                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
     }
 
 }
diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java
index e9f017ec21868a09055a52fd5ba99d466c9bf70f..6d4230e958d24ee72b0316650ef8d94b778cccac 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/SignatureFormat.java
@@ -3,8 +3,7 @@ package de.fitko.fitconnect.api.domain.model.metadata;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
-import java.util.HashMap;
-import java.util.Map;
+import java.util.Arrays;
 
 public enum SignatureFormat {
 
@@ -13,14 +12,8 @@ public enum SignatureFormat {
     PDF("pdf"),
     ASIC("asic"),
     JSON("json");
-    private final String value;
-    private final static Map<String, SignatureFormat> CONSTANTS = new HashMap<>();
 
-    static {
-        for (final SignatureFormat c : values()) {
-            CONSTANTS.put(c.value, c);
-        }
-    }
+    private final String value;
 
     SignatureFormat(final String value) {
         this.value = value;
@@ -38,12 +31,10 @@ public enum SignatureFormat {
 
     @JsonCreator
     public static SignatureFormat fromValue(final String value) {
-        final SignatureFormat constant = CONSTANTS.get(value);
-        if (constant == null) {
-            throw new IllegalArgumentException(value);
-        } else {
-            return constant;
-        }
+        return Arrays.stream(SignatureFormat.values())
+                .filter(enumValue -> enumValue.value.equals(value))
+                .findFirst()
+                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
     }
 
 }
\ No newline at end of file
diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java
index a5726ea3875d4c751fbd77058fb39489350ffcb1..1df21ac81fb2b11aebb66004ab9286f00e20eb8c 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/Purpose.java
@@ -3,8 +3,7 @@ package de.fitko.fitconnect.api.domain.model.metadata.attachment;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
-import java.util.HashMap;
-import java.util.Map;
+import java.util.Arrays;
 
 public enum Purpose {
 
@@ -12,15 +11,8 @@ public enum Purpose {
     ATTACHMENT("attachment"),
     REPORT("report");
     private final String value;
-    private final static Map<String, Purpose> CONSTANTS = new HashMap<>();
 
-    static {
-        for (Purpose c : values()) {
-            CONSTANTS.put(c.value, c);
-        }
-    }
-
-    Purpose(String value) {
+    Purpose(final String value) {
         this.value = value;
     }
 
@@ -35,12 +27,10 @@ public enum Purpose {
     }
 
     @JsonCreator
-    public static Purpose fromValue(String value) {
-        Purpose constant = CONSTANTS.get(value);
-        if (constant == null) {
-            throw new IllegalArgumentException(value);
-        } else {
-            return constant;
-        }
+    public static Purpose fromValue(final String value) {
+        return Arrays.stream(Purpose.values())
+                .filter(enumValue -> enumValue.value.equals(value))
+                .findFirst()
+                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
     }
 }
diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java
index 250885804acbef71261caf67eb9d33e7bfb05b07..12366b0449162ca08957f5342255826fe8d87df3 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java
@@ -3,20 +3,12 @@ package de.fitko.fitconnect.api.domain.model.metadata.attachment.signature;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
-import java.util.HashMap;
-import java.util.Map;
+import java.util.Arrays;
 
 public enum AttachmentSignatureType {
 
     SHA_512("sha512");
     private final String value;
-    private final static Map<String, AttachmentSignatureType> CONSTANTS = new HashMap<>();
-
-    static {
-        for (final AttachmentSignatureType c : values()) {
-            CONSTANTS.put(c.value, c);
-        }
-    }
 
     AttachmentSignatureType(final String value) {
         this.value = value;
@@ -34,12 +26,10 @@ public enum AttachmentSignatureType {
 
     @JsonCreator
     public static AttachmentSignatureType fromValue(final String value) {
-        final AttachmentSignatureType constant = CONSTANTS.get(value);
-        if (constant == null) {
-            throw new IllegalArgumentException(value);
-        } else {
-            return constant;
-        }
+        return Arrays.stream(AttachmentSignatureType.values())
+                .filter(enumValue -> enumValue.value.equals(value))
+                .findFirst()
+                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
     }
 
 }
diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java
index 3208cb14fccf81dbdba1696d234fc782711f8a0e..06b7ffe8414f61f76536f43a8078b73b8ceb9c07 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java
@@ -3,20 +3,12 @@ package de.fitko.fitconnect.api.domain.model.metadata.data;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
-import java.util.HashMap;
-import java.util.Map;
+import java.util.Arrays;
 
 public enum DataSignatureType {
 
     SHA_512("sha512");
     private final String value;
-    private final static Map<String, DataSignatureType> CONSTANTS = new HashMap<>();
-
-    static {
-        for (final DataSignatureType c : values()) {
-            CONSTANTS.put(c.value, c);
-        }
-    }
 
     DataSignatureType(final String value) {
         this.value = value;
@@ -34,12 +26,10 @@ public enum DataSignatureType {
 
     @JsonCreator
     public static DataSignatureType fromValue(final String value) {
-        final DataSignatureType constant = CONSTANTS.get(value);
-        if (constant == null) {
-            throw new IllegalArgumentException(value);
-        } else {
-            return constant;
-        }
+        return Arrays.stream(DataSignatureType.values())
+                .filter(enumValue -> enumValue.value.equals(value))
+                .findFirst()
+                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
     }
 
 }
diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java
index 03bfb1eef7f4169c51bc8824e97dfedf34e88634..88c3fe319830c64f09462368ed7e1abf95a6bdb8 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/metadata/data/MimeType.java
@@ -3,21 +3,14 @@ package de.fitko.fitconnect.api.domain.model.metadata.data;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
-import java.util.HashMap;
-import java.util.Map;
+import java.util.Arrays;
 
 public enum MimeType {
 
     APPLICATION_JSON("application/json"),
     APPLICATION_XML("application/xml");
-    private final String value;
-    private final static Map<String, MimeType> CONSTANTS = new HashMap<>();
 
-    static {
-        for (final MimeType c : values()) {
-            CONSTANTS.put(c.value, c);
-        }
-    }
+    private final String value;
 
     MimeType(final String value) {
         this.value = value;
@@ -35,11 +28,9 @@ public enum MimeType {
 
     @JsonCreator
     public static MimeType fromValue(final String value) {
-        final MimeType constant = CONSTANTS.get(value);
-        if (constant == null) {
-            throw new IllegalArgumentException(value);
-        } else {
-            return constant;
-        }
+        return Arrays.stream(MimeType.values())
+                .filter(enumValue -> enumValue.value.equals(value))
+                .findFirst()
+                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
     }
 }