diff --git a/src/main/java/eu/hbp/mip/controllers/PathologiesAPI.java b/src/main/java/eu/hbp/mip/controllers/PathologiesAPI.java
index 8949e9c5d081d57ec0e4f1bc69f2882383e4efd9..4320f90c7d22f228f8423698b61d8d0a2f10a437 100644
--- a/src/main/java/eu/hbp/mip/controllers/PathologiesAPI.java
+++ b/src/main/java/eu/hbp/mip/controllers/PathologiesAPI.java
@@ -3,7 +3,7 @@ package eu.hbp.mip.controllers;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import eu.hbp.mip.models.DTOs.MIPEngineAttributesDTO;
-import eu.hbp.mip.models.DTOs.MetadataHierarchyDTO;
+import eu.hbp.mip.models.DTOs.MIPEngineCommonDataElement;
 import eu.hbp.mip.models.DTOs.PathologyDTO;
 import eu.hbp.mip.services.ActiveUserService;
 import eu.hbp.mip.utils.*;
@@ -77,14 +77,14 @@ public class PathologiesAPI {
     }
 
     public Map<String, List<PathologyDTO.EnumerationDTO>> getMIPEngineDatasetsPerPathology(Logger logger) {
-        Map<String, Map<String, MetadataHierarchyDTO.CommonDataElement>> mipEngineCDEsMetadata;
+        Map<String, Map<String, MIPEngineCommonDataElement>> mipEngineCDEsMetadata;
         // Get MIPEngine algorithms
         try {
             StringBuilder response = new StringBuilder();
             HTTPUtil.sendGet(mipengineCDEsMetadataUrl, response);
             mipEngineCDEsMetadata = gson.fromJson(
                     response.toString(),
-                    new TypeToken<HashMap<String, Map<String, MetadataHierarchyDTO.CommonDataElement>>>() {
+                    new TypeToken<HashMap<String, Map<String, MIPEngineCommonDataElement>>>() {
                     }.getType()
             );
         } catch (Exception e) {
@@ -122,14 +122,7 @@ public class PathologiesAPI {
             return null;
         }
 
-        Map<String, MIPEngineAttributesDTO> mipEnginePathologyAttributesWithProperEnums = new HashMap<>();
-        for (Map.Entry<String, MIPEngineAttributesDTO> entry : mipEnginePathologyAttributes.entrySet()) {
-            String pathology = entry.getKey();
-            MIPEngineAttributesDTO attributes = entry.getValue();
-            attributes.updateAttributesWithProperEnums();
-            mipEnginePathologyAttributesWithProperEnums.put(pathology, attributes);
-        }
 
-        return mipEnginePathologyAttributesWithProperEnums;
+        return mipEnginePathologyAttributes;
     }
 }
diff --git a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAttributesDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAttributesDTO.java
index 2c4794d7e0b691a34e82be01638f54207958b18a..1da25fe9197571387aeb223c498e04a8b53e6dfc 100644
--- a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAttributesDTO.java
+++ b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineAttributesDTO.java
@@ -18,19 +18,4 @@ public class MIPEngineAttributesDTO {
     @SerializedName("tags")
     private Object tags;
 
-    public void updateAttributesWithProperEnums(){
-        Map<String, List<MetadataHierarchyDTO>> updated_properties = new HashMap<>();
-        for (Map.Entry<String, List<MetadataHierarchyDTO>> entry : this.properties.entrySet()) {
-            String pathology = entry.getKey();
-            List<MetadataHierarchyDTO> hierarchyDTOS = entry.getValue();
-            List<MetadataHierarchyDTO> updatedHierarchyDTOS = new ArrayList<>();
-
-            for (MetadataHierarchyDTO hierarchyDTO : hierarchyDTOS) {
-                hierarchyDTO.updateGroupWithProperEnums();
-                updatedHierarchyDTOS.add(hierarchyDTO);
-            }
-            updated_properties.put(pathology,updatedHierarchyDTOS);
-        }
-        this.properties = updated_properties;
-    }
 }
diff --git a/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineCommonDataElement.java b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineCommonDataElement.java
new file mode 100644
index 0000000000000000000000000000000000000000..9d81a3c77a944c63cbc53cb510264c19e77dd9c0
--- /dev/null
+++ b/src/main/java/eu/hbp/mip/models/DTOs/MIPEngineCommonDataElement.java
@@ -0,0 +1,43 @@
+package eu.hbp.mip.models.DTOs;
+
+
+import com.google.gson.annotations.SerializedName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
+public class MIPEngineCommonDataElement {
+    @SerializedName("is_categorical")
+    private Boolean is_categorical;
+
+    @SerializedName("code")
+    private String code;
+
+    @SerializedName("sql_type")
+    private String sql_type;
+
+    @SerializedName("description")
+    private String description;
+
+    @SerializedName("enumerations")
+    private Object enumerations;
+
+    @SerializedName("label")
+    private String label;
+
+    @SerializedName("units")
+    private String units;
+
+    @SerializedName("type")
+    private String type;
+
+    @SerializedName("methodology")
+    private String methodology;
+
+    @SerializedName("min")
+    private String min;
+
+    @SerializedName("max")
+    private String max;
+}
diff --git a/src/main/java/eu/hbp/mip/models/DTOs/MetadataHierarchyDTO.java b/src/main/java/eu/hbp/mip/models/DTOs/MetadataHierarchyDTO.java
index fbfd8bd348a92230c82d77d564528a3037b1ec32..ff73005c49d910496980263f724344228e20fadf 100644
--- a/src/main/java/eu/hbp/mip/models/DTOs/MetadataHierarchyDTO.java
+++ b/src/main/java/eu/hbp/mip/models/DTOs/MetadataHierarchyDTO.java
@@ -4,9 +4,7 @@ import com.google.gson.annotations.SerializedName;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 
-import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 @Data
 @AllArgsConstructor
@@ -39,7 +37,7 @@ public class MetadataHierarchyDTO {
         private String description;
 
         @SerializedName("enumerations")
-        private Object enumerations;
+        private List<PathologyDTO.EnumerationDTO> enumerations;
 
         @SerializedName("label")
         private String label;
@@ -58,43 +56,8 @@ public class MetadataHierarchyDTO {
 
         @SerializedName("max")
         private String max;
-
-        private void updateEnumerations(){
-            if (this.enumerations != null){
-                Map old_enumeration = (Map) this.enumerations;
-                List<PathologyDTO.EnumerationDTO> enumerationDTOS = new ArrayList<>();
-                old_enumeration.forEach((cdeCode, cdeLabel) -> {
-                    enumerationDTOS.add(new PathologyDTO.EnumerationDTO((String) cdeCode, (String) cdeLabel));
-                });
-                setEnumerations(enumerationDTOS);
-            }
-        }
     }
 
-    public void updateVariableWithProperEnums(){
-        List<CommonDataElement> updated_variables = new ArrayList<>();
-        this.variables.forEach(commonDataElement -> {
-            commonDataElement.updateEnumerations();
-            updated_variables.add(commonDataElement);
-        });
-        setVariables(updated_variables);
-    }
-
-    public void updateGroupWithProperEnums(){
-        List<MetadataHierarchyDTO> updated_groups = new ArrayList<>();
-        for (MetadataHierarchyDTO hierarchyDTO : this.groups) {
-
-            if (hierarchyDTO.getVariables() != null) {
-                hierarchyDTO.updateVariableWithProperEnums();
-            }
-
-            if (hierarchyDTO.getGroups() != null) {
-                hierarchyDTO.updateGroupWithProperEnums();
-            }
-            updated_groups.add(hierarchyDTO);
-        }
-        this.groups = updated_groups;
-    }
 
     public boolean isDatasetCDEPresent(){
         if (this.variables != null) {