diff --git a/include/pybind11/pybind11.h b/include/pybind11/pybind11.h
index 204aaa4..a0e6395 100644
--- a/include/pybind11/pybind11.h
+++ b/include/pybind11/pybind11.h
@@ -1566,6 +1566,10 @@
         #if PY_MAJOR_VERSION < 3
             def("__long__", [](Type value) { return (Scalar) value; });
         #endif
+        #if PY_MAJOR_VERSION >= 3 && PY_MINOR_VERSION >= 8
+            def("__index__", [](Type value) { return (Scalar) value; });
+        #endif
+
         cpp_function setstate(
             [](Type &value, Scalar arg) { value = static_cast<Type>(arg); },
             is_method(*this));
diff --git a/tests/test_enum.py b/tests/test_enum.py
index cea834d..7fe9b61 100644
--- a/tests/test_enum.py
+++ b/tests/test_enum.py
@@ -192,15 +192,12 @@
 
 
 def test_enum_to_int():
-    import sys
-    # Implicit conversion to integers is deprecated in Python >= 3.8
-    if sys.version_info < (3, 8):
-        m.test_enum_to_int(m.Flags.Read)
-        m.test_enum_to_int(m.ClassWithUnscopedEnum.EMode.EFirstMode)
-        m.test_enum_to_uint(m.Flags.Read)
-        m.test_enum_to_uint(m.ClassWithUnscopedEnum.EMode.EFirstMode)
-        m.test_enum_to_long_long(m.Flags.Read)
-        m.test_enum_to_long_long(m.ClassWithUnscopedEnum.EMode.EFirstMode)
+    m.test_enum_to_int(m.Flags.Read)
+    m.test_enum_to_int(m.ClassWithUnscopedEnum.EMode.EFirstMode)
+    m.test_enum_to_uint(m.Flags.Read)
+    m.test_enum_to_uint(m.ClassWithUnscopedEnum.EMode.EFirstMode)
+    m.test_enum_to_long_long(m.Flags.Read)
+    m.test_enum_to_long_long(m.ClassWithUnscopedEnum.EMode.EFirstMode)
 
 
 def test_duplicate_enum_name():
