diff --git a/dumux/common/typetraits/problem.hh b/dumux/common/typetraits/problem.hh
index 0131254abd3831b190cb0ac61025ca26c5a5c4a3..64570dea8df19811f2e425faf554f5eae50ef4d9 100644
--- a/dumux/common/typetraits/problem.hh
+++ b/dumux/common/typetraits/problem.hh
@@ -31,7 +31,7 @@ namespace Dumux {
 
 // forward declare
 namespace Detail {
-template<class Problem, DiscretizationMethod dm>
+template<class Problem, class DiscretizationMethod>
 struct ProblemTraits;
 } // end namespace Detail
 
@@ -43,7 +43,7 @@ template<class Problem>
 struct ProblemTraits
 {
     using GridGeometry = std::decay_t<decltype(std::declval<Problem>().gridGeometry())>;
-    using BoundaryTypes = typename Detail::template ProblemTraits<Problem, GridGeometry::discMethod>::BoundaryTypes;
+    using BoundaryTypes = typename Detail::template ProblemTraits<Problem, typename GridGeometry::DiscretizationMethod>::BoundaryTypes;
 };
 
 } // end namespace Dumux
diff --git a/dumux/discretization/box.hh b/dumux/discretization/box.hh
index 7ec91488a925c62821935a6e1e1500617adbddf2..59669c347fddb697440a5f6fb3896d474e42741c 100644
--- a/dumux/discretization/box.hh
+++ b/dumux/discretization/box.hh
@@ -110,7 +110,7 @@ struct BaseLocalResidual<TypeTag, TTag::BoxModel> { using type = BoxLocalResidua
 namespace Detail {
 
 template<class Problem>
-struct ProblemTraits<Problem, DiscretizationMethod::box>
+struct ProblemTraits<Problem, DiscretizationMethods::Box>
 {
 private:
     using GG = std::decay_t<decltype(std::declval<Problem>().gridGeometry())>;
diff --git a/dumux/discretization/ccmpfa.hh b/dumux/discretization/ccmpfa.hh
index 2d0e9e1182b9a77653aadadc668a7db71f1424c3..fbd738fae081515383a353a380995cc49e22e468 100644
--- a/dumux/discretization/ccmpfa.hh
+++ b/dumux/discretization/ccmpfa.hh
@@ -163,7 +163,7 @@ struct BaseLocalResidual<TypeTag, TTag::CCMpfaModel> { using type = CCLocalResid
 namespace Detail {
 
 template<class Problem>
-struct ProblemTraits<Problem, DiscretizationMethod::ccmpfa>
+struct ProblemTraits<Problem, DiscretizationMethods::CCMpfa>
 {
 private:
     using GG = std::decay_t<decltype(std::declval<Problem>().gridGeometry())>;
diff --git a/dumux/discretization/cctpfa.hh b/dumux/discretization/cctpfa.hh
index 0735de0923d6340b25a5a285b3d58018b5ac3270..3447dc2c942b18fbddfb266bcde2e61d1a8c6706 100644
--- a/dumux/discretization/cctpfa.hh
+++ b/dumux/discretization/cctpfa.hh
@@ -99,7 +99,7 @@ struct BaseLocalResidual<TypeTag, TTag::CCTpfaModel> { using type = CCLocalResid
 namespace Detail {
 
 template<class Problem>
-struct ProblemTraits<Problem, DiscretizationMethod::cctpfa>
+struct ProblemTraits<Problem, DiscretizationMethods::CCTpfa>
 {
 private:
     using GG = std::decay_t<decltype(std::declval<Problem>().gridGeometry())>;
diff --git a/dumux/discretization/fcstaggered.hh b/dumux/discretization/fcstaggered.hh
index c950aec44e7cbf3339ff77cd1377b632e786b866..6de37e6114c1bcef7748a788d37c8fe238d3cd5f 100644
--- a/dumux/discretization/fcstaggered.hh
+++ b/dumux/discretization/fcstaggered.hh
@@ -118,7 +118,7 @@ public:
 namespace Dumux::Detail {
 
 template<class Problem>
-struct ProblemTraits<Problem, DiscretizationMethod::fcstaggered>
+struct ProblemTraits<Problem, DiscretizationMethods::FCStaggered>
 {
 private:
     using GG = std::decay_t<decltype(std::declval<Problem>().gridGeometry())>;
diff --git a/dumux/discretization/staggered.hh b/dumux/discretization/staggered.hh
index b5bb1345270574823f10b752b3ae74531d3a8886..3caccbd7a0a0735b32b452bf2e734dcd4265e4ac 100644
--- a/dumux/discretization/staggered.hh
+++ b/dumux/discretization/staggered.hh
@@ -200,7 +200,7 @@ public:
 namespace Detail {
 
 template<class Problem>
-struct ProblemTraits<Problem, DiscretizationMethod::staggered>
+struct ProblemTraits<Problem, DiscretizationMethods::Staggered>
 {
 private:
     using GG = std::decay_t<decltype(std::declval<Problem>().gridGeometry())>;