diff --git a/include/lldb/API/SBDebugger.h b/include/lldb/API/SBDebugger.h
index cf5409a..62b2f91 100644
--- a/include/lldb/API/SBDebugger.h
+++ b/include/lldb/API/SBDebugger.h
@@ -42,6 +42,13 @@
 
 class LLDB_API SBDebugger {
 public:
+  FLAGS_ANONYMOUS_ENUM(){
+      eBroadcastBitProgress = (1 << 0),
+      eBroadcastBitWarning = (1 << 1),
+      eBroadcastBitError = (1 << 2),
+      eBroadcastBitProgressCategory = (1 << 3),
+  };
+
   SBDebugger();
 
   SBDebugger(const lldb::SBDebugger &rhs);
diff --git a/include/lldb/lldb-enumerations.h b/include/lldb/lldb-enumerations.h
index f3b07ea..646f7bf 100644
--- a/include/lldb/lldb-enumerations.h
+++ b/include/lldb/lldb-enumerations.h
@@ -1339,14 +1339,6 @@
   eAddressMaskRangeAll = eAddressMaskRangeAny,
 };
 
-/// Used by the debugger to indicate which events are being broadcasted.
-enum DebuggerBroadcastBit {
-  eBroadcastBitProgress = (1 << 0),
-  eBroadcastBitWarning = (1 << 1),
-  eBroadcastBitError = (1 << 2),
-  eBroadcastBitProgressCategory = (1 << 3),
-};
-
 } // namespace lldb
 
 #endif // LLDB_LLDB_ENUMERATIONS_H
diff --git a/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py b/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
index 6353e3e..36a3be6 100644
--- a/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
+++ b/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
@@ -15,7 +15,7 @@
         self.broadcaster = self.dbg.GetBroadcaster()
         self.listener = lldbutil.start_listening_from(
             self.broadcaster,
-            lldb.eBroadcastBitWarning | lldb.eBroadcastBitError,
+            lldb.SBDebugger.eBroadcastBitWarning | lldb.SBDebugger.eBroadcastBitError,
         )
 
     def test_dwarf_symbol_loading_diagnostic_report(self):
diff --git a/test/API/functionalities/progress_reporting/TestProgressReporting.py b/test/API/functionalities/progress_reporting/TestProgressReporting.py
index 98988d7..9af5384 100644
--- a/test/API/functionalities/progress_reporting/TestProgressReporting.py
+++ b/test/API/functionalities/progress_reporting/TestProgressReporting.py
@@ -13,7 +13,7 @@
         TestBase.setUp(self)
         self.broadcaster = self.dbg.GetBroadcaster()
         self.listener = lldbutil.start_listening_from(
-            self.broadcaster, lldb.eBroadcastBitProgress
+            self.broadcaster, lldb.SBDebugger.eBroadcastBitProgress
         )
 
     def test_dwarf_symbol_loading_progress_report(self):
diff --git a/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py b/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
index 33c7c26..228f676 100644
--- a/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
+++ b/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
@@ -34,7 +34,7 @@
         # other unrelated progress events.
         broadcaster = self.dbg.GetBroadcaster()
         listener = lldbutil.start_listening_from(
-            broadcaster, lldb.eBroadcastBitProgress
+            broadcaster, lldb.SBDebugger.eBroadcastBitProgress
         )
 
         # Trigger module builds.
diff --git a/test/API/macosx/rosetta/TestRosetta.py b/test/API/macosx/rosetta/TestRosetta.py
index 669db95..ce40de4 100644
--- a/test/API/macosx/rosetta/TestRosetta.py
+++ b/test/API/macosx/rosetta/TestRosetta.py
@@ -49,7 +49,7 @@
         if rosetta_debugserver_installed():
             broadcaster = self.dbg.GetBroadcaster()
             listener = lldbutil.start_listening_from(
-                broadcaster, lldb.eBroadcastBitWarning
+                broadcaster, lldb.SBDebugger.eBroadcastBitWarning
             )
 
             target, process, thread, bkpt = lldbutil.run_to_source_breakpoint(
