diff --git a/api/src/main/java/de/fitko/fitconnect/api/config/ApplicationConfig.java b/api/src/main/java/de/fitko/fitconnect/api/config/ApplicationConfig.java
index b3b152fb917e255a1b581b75910e50578f109f84..7ab2bad8248662e09f37f1a63fb7c84f7b80ea0f 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/config/ApplicationConfig.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/config/ApplicationConfig.java
@@ -18,6 +18,7 @@ public class ApplicationConfig {
     @Builder.Default
     private Integer httpProxyPort = 0;
     @Builder.Default
+
     private Integer requestTimeoutInSeconds = 30;
     private String metadataSchemaPath;
     private String privateSigningKeyPath;
diff --git a/api/src/main/java/de/fitko/fitconnect/api/domain/model/destination/StatusEnum.java b/api/src/main/java/de/fitko/fitconnect/api/domain/model/destination/StatusEnum.java
index b42836cb6674e9170918462e282094fffe31979e..5f5638798f584d21bdfa405fe0980ec69f8d9a13 100644
--- a/api/src/main/java/de/fitko/fitconnect/api/domain/model/destination/StatusEnum.java
+++ b/api/src/main/java/de/fitko/fitconnect/api/domain/model/destination/StatusEnum.java
@@ -3,6 +3,9 @@ package de.fitko.fitconnect.api.domain.model.destination;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
+import java.util.HashMap;
+import java.util.Map;
+
 public enum StatusEnum {
 
     CREATED("created"),
@@ -13,6 +16,14 @@ public enum StatusEnum {
 
     DECOMMISSIONED("decommissioned");
 
+    private static final Map<String, StatusEnum> CONSTANTS = new HashMap<>();
+
+    static {
+        for (final StatusEnum c : values()) {
+            CONSTANTS.put(c.value, c);
+        }
+    }
+
     private final String value;
 
     StatusEnum(final String value) {
@@ -31,11 +42,10 @@ public enum StatusEnum {
 
     @JsonCreator
     public static StatusEnum fromValue(final String value) {
-        for (final StatusEnum statusEnum : StatusEnum.values()) {
-            if (statusEnum.value.equals(value)) {
-                return statusEnum;
-            }
+        final StatusEnum constant = CONSTANTS.get(value);
+        if (constant == null) {
+            throw new IllegalArgumentException("Unexpected value '" + value + "'");
         }
-        throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        return constant;
     }
 }
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 efa8b31810cabba94c43ecadfd10815b5b3ab215..630b85ec781fa3e4ed396a1673ebfa1bb4885bd4 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,7 +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;
+import java.util.HashMap;
+import java.util.Map;
 
 public enum AlgEnum {
 
@@ -11,6 +12,14 @@ public enum AlgEnum {
 
     RSA_OAEP_256("RSA-OAEP-256");
 
+    private static final Map<String, AlgEnum> CONSTANTS = new HashMap<>();
+
+    static {
+        for (final AlgEnum c : values()) {
+            CONSTANTS.put(c.value, c);
+        }
+    }
+
     private final String value;
 
     AlgEnum(final String value) {
@@ -29,9 +38,10 @@ public enum AlgEnum {
 
     @JsonCreator
     public static AlgEnum fromValue(final String value) {
-        return Arrays.stream(AlgEnum.values())
-                .filter(enumValue -> enumValue.value.equals(value))
-                .findFirst()
-                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
+        final AlgEnum constant = CONSTANTS.get(value);
+        if (constant == null) {
+            throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        }
+        return constant;
     }
 }
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 dc447ae3f0a55fdd6b8e60cf0413902be491825d..4d6273e4bc94b8c37a0637823e5b586579ae2a0d 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,12 +3,21 @@ package de.fitko.fitconnect.api.domain.model.jwk;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
-import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
 public enum EEnum {
 
     AQAB("AQAB");
 
+    private static final Map<String, EEnum> CONSTANTS = new HashMap<>();
+
+    static {
+        for (final EEnum c : values()) {
+            CONSTANTS.put(c.value, c);
+        }
+    }
+
     private final String value;
 
     EEnum(final String value) {
@@ -27,9 +36,10 @@ public enum EEnum {
 
     @JsonCreator
     public static EEnum fromValue(final String value) {
-        return Arrays.stream(EEnum.values())
-                .filter(enumValue -> enumValue.value.equals(value))
-                .findFirst()
-                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
+        final EEnum constant = CONSTANTS.get(value);
+        if (constant == null) {
+            throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        }
+        return constant;
     }
 }
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 455ff64f203030ffe7c3a04b6878d72030805b26..e8e18709d3c1a9461ed25fd6e5d3185325367dc7 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,7 +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;
+import java.util.HashMap;
+import java.util.Map;
 
 public enum KeyOpsEnum {
 
@@ -11,6 +12,14 @@ public enum KeyOpsEnum {
 
     WRAPKEY("wrapKey");
 
+    private static final Map<String, KeyOpsEnum> CONSTANTS = new HashMap<>();
+
+    static {
+        for (final KeyOpsEnum c : values()) {
+            CONSTANTS.put(c.value, c);
+        }
+    }
+
     private final String value;
 
     KeyOpsEnum(final String value) {
@@ -29,9 +38,10 @@ public enum KeyOpsEnum {
 
     @JsonCreator
     public static KeyOpsEnum fromValue(final String value) {
-        return Arrays.stream(KeyOpsEnum.values())
-                .filter(enumValue -> enumValue.value.equals(value))
-                .findFirst()
-                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
+        final KeyOpsEnum constant = CONSTANTS.get(value);
+        if (constant == null) {
+            throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        }
+        return constant;
     }
 }
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 b422d165aa8141aac80aadc279640f24add77e61..10c7b24c19a03c3438a6ea4fb143363c62e067d0 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,12 +3,21 @@ package de.fitko.fitconnect.api.domain.model.jwk;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
-import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
 public enum KtyEnum {
 
     RSA("RSA");
 
+    private static final Map<String, KtyEnum> CONSTANTS = new HashMap<>();
+
+    static {
+        for (final KtyEnum c : values()) {
+            CONSTANTS.put(c.value, c);
+        }
+    }
+
     private final String value;
 
     KtyEnum(final String value) {
@@ -27,9 +36,10 @@ public enum KtyEnum {
 
     @JsonCreator
     public static KtyEnum fromValue(final String value) {
-        return Arrays.stream(KtyEnum.values())
-                .filter(enumValue -> enumValue.value.equals(value))
-                .findFirst()
-                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
+        final KtyEnum constant = CONSTANTS.get(value);
+        if (constant == null) {
+            throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        }
+        return constant;
     }
 }
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 ae1e93c20c5c436982f9fccaf520d8635834d544..c8e87c22c5bd5c6c9497c0e24dc5ed1abd8dfc0d 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,14 @@ package de.fitko.fitconnect.api.domain.model.metadata;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
-import java.util.Arrays;
-
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Referenziert ein eindeutiges Profil einer AdES (advanced electronic signature/seal) gemäß eIDAS-Verordnung über eine URI gemäß [ETSI TS 119 192](https://www.etsi.org/deliver/etsi_ts/119100_119199/119192/01.01.01_60/ts_119192v010101p.pdf).
+ * <p>
+ * Für die Details zur Verwendung und Validierung von Profilen siehe auch https://ec.europa.eu/cefdigital/DSS/webapp-demo/doc/dss-documentation.html#_signatures_profile_simplification
+ */
 public enum EidasAdesProfile {
 
     HTTP_URI_ETSI_ORG_ADES_191_X_2_LEVEL_BASELINE_B_B("http://uri.etsi.org/ades/191x2/level/baseline/B-B#"),
@@ -12,6 +18,14 @@ public enum EidasAdesProfile {
     HTTP_URI_ETSI_ORG_ADES_191_X_2_LEVEL_BASELINE_B_LT("http://uri.etsi.org/ades/191x2/level/baseline/B-LT#"),
     HTTP_URI_ETSI_ORG_ADES_191_X_2_LEVEL_BASELINE_B_LTA("http://uri.etsi.org/ades/191x2/level/baseline/B-LTA#");
 
+    private static final Map<String, EidasAdesProfile> CONSTANTS = new HashMap<>();
+
+    static {
+        for (final EidasAdesProfile c : values()) {
+            CONSTANTS.put(c.value, c);
+        }
+    }
+
     private final String value;
 
     EidasAdesProfile(final String value) {
@@ -30,10 +44,11 @@ public enum EidasAdesProfile {
 
     @JsonCreator
     public static EidasAdesProfile fromValue(final String value) {
-        return Arrays.stream(EidasAdesProfile.values())
-                .filter(enumValue -> enumValue.value.equals(value))
-                .findFirst()
-                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
+        final EidasAdesProfile constant = CONSTANTS.get(value);
+        if (constant == null) {
+            throw new IllegalArgumentException(value);
+        }
+        return constant;
     }
 
 }
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 a36975e97a42241fe0e8d60b806d1036404f97e4..11e2efdc859235c86d4d0aebd6e843cab9137e1a 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,7 +3,8 @@ package de.fitko.fitconnect.api.domain.model.metadata;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
-import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
 public enum SignatureFormat {
 
@@ -13,6 +14,14 @@ public enum SignatureFormat {
     ASIC("asic"),
     JSON("json");
 
+    private static final 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) {
@@ -31,9 +40,10 @@ public enum SignatureFormat {
 
     @JsonCreator
     public static SignatureFormat fromValue(final String value) {
-        return Arrays.stream(SignatureFormat.values())
-                .filter(enumValue -> enumValue.value.equals(value))
-                .findFirst()
-                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
+        final SignatureFormat constant = CONSTANTS.get(value);
+        if (constant == null) {
+            throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        }
+        return constant;
     }
 }
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 06b7ffe8414f61f76536f43a8078b73b8ceb9c07..56a5a9b32ba9405ef58eb26384d95c15cea40982 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
@@ -4,10 +4,21 @@ import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
 import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
 public enum DataSignatureType {
 
     SHA_512("sha512");
+
+    private static final Map<String, DataSignatureType> CONSTANTS = new HashMap<>();
+
+    static {
+        for (final DataSignatureType c : values()) {
+            CONSTANTS.put(c.value, c);
+        }
+    }
+
     private final String value;
 
     DataSignatureType(final String value) {
@@ -26,10 +37,11 @@ public enum DataSignatureType {
 
     @JsonCreator
     public static DataSignatureType fromValue(final String value) {
-        return Arrays.stream(DataSignatureType.values())
-                .filter(enumValue -> enumValue.value.equals(value))
-                .findFirst()
-                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
+        final DataSignatureType constant = CONSTANTS.get(value);
+        if (constant == null) {
+            throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        }
+        return constant;
     }
 
 }
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 88c3fe319830c64f09462368ed7e1abf95a6bdb8..2011bc56e3c365372fca365fe878f4ef79ac1ade 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,13 +3,22 @@ package de.fitko.fitconnect.api.domain.model.metadata.data;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
 
-import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
 public enum MimeType {
 
     APPLICATION_JSON("application/json"),
     APPLICATION_XML("application/xml");
 
+    private static final 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) {
@@ -28,9 +37,10 @@ public enum MimeType {
 
     @JsonCreator
     public static MimeType fromValue(final String value) {
-        return Arrays.stream(MimeType.values())
-                .filter(enumValue -> enumValue.value.equals(value))
-                .findFirst()
-                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
+        final MimeType constant = CONSTANTS.get(value);
+        if (constant == null) {
+            throw new IllegalArgumentException("Unexpected value '" + value + "'");
+        }
+        return constant;
     }
 }