diff --git a/extensions/openpower-pels/pel_types.hpp b/extensions/openpower-pels/pel_types.hpp
new file mode 100644
index 0000000..5b4149f
--- /dev/null
+++ b/extensions/openpower-pels/pel_types.hpp
@@ -0,0 +1,34 @@
+#pragma once
+
+namespace openpower
+{
+namespace pels
+{
+
+/**
+ * @brief PEL section IDs
+ */
+enum class SectionID
+{
+    privateHeader = 0x5048,      // 'PH'
+    userHeader = 0x5548,         // 'UH'
+    primarySRC = 0x5053,         // 'PS'
+    secondarySRC = 0x5353,       // 'SS'
+    extendedUserHeader = 0x4548, // 'EH'
+    failingMTMS = 0x4D54,        // 'MT'
+    dumpLocation = 0x4448,       // 'DH'
+    firmwareError = 0x5357,      // 'SW'
+    impactedPart = 0x4C50,       // 'LP'
+    logicalResource = 0x4C52,    // 'LR'
+    hmcID = 0x484D,              // 'HM'
+    epow = 0x4550,               // 'EP'
+    ioEvent = 0x4945,            // 'IE'
+    mfgInfo = 0x4D49,            // 'MI'
+    callhome = 0x4348,           // 'CH'
+    userData = 0x5544,           // 'UD'
+    envInfo = 0x4549,            // 'EI'
+    extUserData = 0x4544         // 'ED'
+};
+
+} // namespace pels
+} // namespace openpower
diff --git a/extensions/openpower-pels/private_header.cpp b/extensions/openpower-pels/private_header.cpp
index d4c3dee..fc62df1 100644
--- a/extensions/openpower-pels/private_header.cpp
+++ b/extensions/openpower-pels/private_header.cpp
@@ -1,5 +1,7 @@
 #include "private_header.hpp"
 
+#include "pel_types.hpp"
+
 #include <phosphor-logging/log.hpp>
 
 namespace openpower
@@ -28,7 +30,7 @@
 {
     bool failed = false;
 
-    if (header().id != privateHeaderSectionID)
+    if (header().id != static_cast<uint16_t>(SectionID::privateHeader))
     {
         log<level::ERR>("Invalid private header section ID",
                         entry("ID=0x%X", header().id));
diff --git a/extensions/openpower-pels/private_header.hpp b/extensions/openpower-pels/private_header.hpp
index 4a8b330..66126a0 100644
--- a/extensions/openpower-pels/private_header.hpp
+++ b/extensions/openpower-pels/private_header.hpp
@@ -14,8 +14,7 @@
     uint8_t version[8];
 };
 
-static constexpr uint16_t privateHeaderSectionID = 0x5048; // 'PH'
-static constexpr uint16_t privateHeaderVersion = 0x01;
+static constexpr uint8_t privateHeaderVersion = 0x01;
 static constexpr uint8_t minSectionCount = 2;
 
 /**
diff --git a/extensions/openpower-pels/user_header.cpp b/extensions/openpower-pels/user_header.cpp
index 917d578..e5e8abb 100644
--- a/extensions/openpower-pels/user_header.cpp
+++ b/extensions/openpower-pels/user_header.cpp
@@ -1,5 +1,7 @@
 #include "user_header.hpp"
 
+#include "pel_types.hpp"
+
 #include <phosphor-logging/log.hpp>
 
 namespace openpower
@@ -41,7 +43,7 @@
 void UserHeader::validate()
 {
     bool failed = false;
-    if (header().id != userHeaderSectionID)
+    if (header().id != static_cast<uint16_t>(SectionID::userHeader))
     {
         log<level::ERR>("Invalid user header section ID",
                         entry("ID=0x%X", header().id));
diff --git a/extensions/openpower-pels/user_header.hpp b/extensions/openpower-pels/user_header.hpp
index ae7a922..5e64ff4 100644
--- a/extensions/openpower-pels/user_header.hpp
+++ b/extensions/openpower-pels/user_header.hpp
@@ -8,8 +8,7 @@
 namespace pels
 {
 
-static constexpr uint16_t userHeaderSectionID = 0x5548; // 'UH'
-static constexpr uint16_t userHeaderVersion = 0x01;
+static constexpr uint8_t userHeaderVersion = 0x01;
 
 /**
  * @class UserHeader
