diff --git a/src/netconf_access.cpp b/src/netconf_access.cpp
index 3d54443..e53237b 100644
--- a/src/netconf_access.cpp
+++ b/src/netconf_access.cpp
@@ -37,7 +37,7 @@
     case LY_TYPE_STRING:
         return std::string(value->string());
     case LY_TYPE_ENUM:
-        return std::string(value->enm()->name());
+        return enum_{std::string(value->enm()->name())};
     default: // TODO: implement all types
         return "(can't print)"s;
     }
diff --git a/src/sysrepo_access.cpp b/src/sysrepo_access.cpp
index eec6d6c..b01b484 100644
--- a/src/sysrepo_access.cpp
+++ b/src/sysrepo_access.cpp
@@ -35,7 +35,7 @@
     case SR_STRING_T:
         return std::string(value->data()->get_string());
     case SR_ENUM_T:
-        return std::string(value->data()->get_enum());
+        return enum_{std::string(value->data()->get_enum())};
     case SR_DECIMAL64_T:
         return value->data()->get_decimal64();
     case SR_CONTAINER_T:
diff --git a/tests/setting_values.cpp b/tests/setting_values.cpp
index 9c04bf9..d15e2dc 100644
--- a/tests/setting_values.cpp
+++ b/tests/setting_values.cpp
@@ -213,5 +213,17 @@
         REQUIRE(datastore.getItems("/example-schema:*") == expected);
     }
 
+    SECTION("getItems returns correct datatypes")
+    {
+        {
+            REQUIRE_CALL(mock, write("/example-schema:leafEnum", "", "lol"));
+            datastore.setLeaf("/example-schema:leafEnum", enum_{"lol"});
+            datastore.commitChanges();
+        }
+        std::map<std::string, leaf_data_> expected{{"/example-schema:leafEnum", enum_{"lol"}}};
+
+        REQUIRE(datastore.getItems("/example-schema:leafEnum") == expected);
+    }
+
     waitForCompletionAndBitMore(seq1);
 }
