diff --git a/firmware_handler.hpp b/firmware_handler.hpp
index 1a9e8b0..8f54d7d 100644
--- a/firmware_handler.hpp
+++ b/firmware_handler.hpp
@@ -11,19 +11,19 @@
 namespace blobs
 {
 
-enum class FirmwareUpdateFlags
-{
-    bt = (1 << 8),   /* Expect to send contents over IPMI BlockTransfer. */
-    p2a = (1 << 9),  /* Expect to send contents over P2A bridge. */
-    lpc = (1 << 10), /* Expect to send contents over LPC bridge. */
-};
-
 /**
  * Register only one firmware blob handler that will manage all sessions.
  */
 class FirmwareBlobHandler : public GenericBlobInterface
 {
   public:
+    enum FirmwareUpdateFlags : std::uint16_t
+    {
+        bt = (1 << 8),   /* Expect to send contents over IPMI BlockTransfer. */
+        p2a = (1 << 9),  /* Expect to send contents over P2A bridge. */
+        lpc = (1 << 10), /* Expect to send contents over LPC bridge. */
+    };
+
     /**
      * Create a FirmwareBlobHandler.
      *
diff --git a/main.cpp b/main.cpp
index 1934c6f..28bb943 100644
--- a/main.cpp
+++ b/main.cpp
@@ -24,7 +24,7 @@
 };
 
 std::uint16_t supportedTransports =
-    static_cast<std::uint16_t>(FirmwareUpdateFlags::bt);
+    FirmwareBlobHandler::FirmwareUpdateFlags::bt;
 } // namespace
 
 void setupFirmwareHandler() __attribute__((constructor));
@@ -32,10 +32,10 @@
 void setupFirmwareHandler()
 {
 #ifdef ENABLE_PCI_BRIDGE
-    supportedTransports |= static_cast<std::uint16_t>(FirmwareUpdateFlags::p2a);
+    supportedTransports |= FirmwareBlobHandler::FirmwareUpdateFlags::p2a;
 #endif
 #ifdef ENABLE_LPC_BRIDGE
-    supportedTransports |= static_cast<std::uint16_t>(FirmwareUpdateFlags::lpc);
+    supportedTransports |= FirmwareBlobHandler::FirmwareUpdateFlags::lpc;
 #endif
 
     auto handler = FirmwareBlobHandler::CreateFirmwareBlobHandler(
diff --git a/test/firmware_canhandle_unittest.cpp b/test/firmware_canhandle_unittest.cpp
index b82ab6a..028d472 100644
--- a/test/firmware_canhandle_unittest.cpp
+++ b/test/firmware_canhandle_unittest.cpp
@@ -27,7 +27,7 @@
     };
 
     auto handler = FirmwareBlobHandler::CreateFirmwareBlobHandler(
-        blobs, static_cast<uint16_t>(FirmwareUpdateFlags::bt));
+        blobs, FirmwareBlobHandler::FirmwareUpdateFlags::bt);
 
     for (const auto& item : items)
     {
diff --git a/test/firmware_stat_unittest.cpp b/test/firmware_stat_unittest.cpp
index 7d0961b..a00adf5 100644
--- a/test/firmware_stat_unittest.cpp
+++ b/test/firmware_stat_unittest.cpp
@@ -24,10 +24,10 @@
     };
 
     auto handler = FirmwareBlobHandler::CreateFirmwareBlobHandler(
-        blobs, static_cast<uint16_t>(FirmwareUpdateFlags::bt));
+        blobs, FirmwareBlobHandler::FirmwareUpdateFlags::bt);
     struct BlobMeta meta;
     EXPECT_TRUE(handler->stat("asdf", &meta));
-    EXPECT_EQ(static_cast<uint16_t>(FirmwareUpdateFlags::bt), meta.blobState);
+    EXPECT_EQ(FirmwareBlobHandler::FirmwareUpdateFlags::bt, meta.blobState);
 }
 
 } // namespace blobs
