diff --git a/transporthandler.cpp b/transporthandler.cpp
index 00202c5..f1b733e 100644
--- a/transporthandler.cpp
+++ b/transporthandler.cpp
@@ -522,10 +522,10 @@
     }
 
     ret.pack(set);
-    ret.pack(static_cast<uint4_t>(source), uint3_t{}, enabled);
+    ret.pack(types::enum_cast<uint4_t>(source), uint3_t{}, enabled);
     ret.pack(std::string_view(reinterpret_cast<char*>(&addr), sizeof(addr)));
     ret.pack(prefix);
-    ret.pack(static_cast<uint8_t>(status));
+    ret.pack(types::enum_cast<uint8_t>(status));
 }
 
 /** @brief Gets the vlan ID configured on the interface
@@ -1276,7 +1276,7 @@
             {
                 status = SetStatus::Complete;
             }
-            ret.pack(static_cast<uint2_t>(status), uint6_t{});
+            ret.pack(types::enum_cast<uint2_t>(status), uint6_t{});
             return responseSuccess(std::move(ret));
         }
         case LanParam::AuthSupport:
@@ -1316,7 +1316,7 @@
             {
                 src = IPSrc::DHCP;
             }
-            ret.pack(static_cast<uint4_t>(src), uint4_t{});
+            ret.pack(types::enum_cast<uint4_t>(src), uint4_t{});
             return responseSuccess(std::move(ret));
         }
         case LanParam::MAC:
