diff --git a/src/CodeInterpreter.hh b/src/CodeInterpreter.hh
index 28fec2d5abdd569140f09adc345ac443c2efe613..2f933be52ba70d886700f14e4ef4b37744e5900f 100644
--- a/src/CodeInterpreter.hh
+++ b/src/CodeInterpreter.hh
@@ -229,15 +229,15 @@ enum class TrinaryOpcode
     normpdf
   };
 
-enum external_function_type
+enum class ExternalFunctionType
   {
-    ExternalFunctionWithoutDerivative,
-    ExternalFunctionWithFirstDerivative,
-    ExternalFunctionWithFirstandSecondDerivative,
-    ExternalFunctionNumericalFirstDerivative,
-    ExternalFunctionFirstDerivative,
-    ExternalFunctionNumericalSecondDerivative,
-    ExternalFunctionSecondDerivative
+    withoutDerivative,
+    withFirstDerivative,
+    withFirstAndSecondDerivative,
+    numericalFirstDerivative,
+    firstDerivative,
+    numericalSecondDerivative,
+    secondDerivative
   };
 
 enum class PriorDistributions
@@ -1176,7 +1176,7 @@ class FCALL_ : public TagWithFourArguments<unsigned int, unsigned int, string, u
   string func_name;
   string arg_func_name;
   unsigned int add_input_arguments, row, col;
-  external_function_type function_type;
+  ExternalFunctionType function_type;
 public:
   inline
   FCALL_() : TagWithFourArguments<unsigned int, unsigned int, string, unsigned int>::TagWithFourArguments(FCALL)
@@ -1185,7 +1185,7 @@ public:
     add_input_arguments = 0;
     row = 0;
     col = 0;
-    function_type = ExternalFunctionWithoutDerivative;
+    function_type = ExternalFunctionType::withoutDerivative;
   };
   inline
   FCALL_(unsigned int nb_output_arguments, unsigned int nb_input_arguments, string f_name, unsigned int indx) :
@@ -1195,7 +1195,7 @@ public:
     add_input_arguments = 0;
     row = 0;
     col = 0;
-    function_type = ExternalFunctionWithoutDerivative;
+    function_type = ExternalFunctionType::withoutDerivative;
     func_name = f_name;
   };
   inline string
@@ -1260,11 +1260,11 @@ public:
     return col;
   };
   inline void
-  set_function_type(external_function_type arg_function_type)
+  set_function_type(ExternalFunctionType arg_function_type)
   {
     function_type = arg_function_type;
   };
-  inline external_function_type
+  inline ExternalFunctionType
   get_function_type()
   {
     return (function_type);
diff --git a/src/ExprNode.cc b/src/ExprNode.cc
index fa884efaac5a7d9be8098a3e352d7b5a16e31e49..f2a6f3e47b74d065c416a834b0ca4fc32d08eea8 100644
--- a/src/ExprNode.cc
+++ b/src/ExprNode.cc
@@ -6631,13 +6631,13 @@ ExternalFunctionNode::compileExternalFunctionOutput(ostream &CompileCode, unsign
       switch (nb_output_arguments)
         {
         case 1:
-          fcall.set_function_type(ExternalFunctionWithoutDerivative);
+          fcall.set_function_type(ExternalFunctionType::withoutDerivative);
           break;
         case 2:
-          fcall.set_function_type(ExternalFunctionWithFirstDerivative);
+          fcall.set_function_type(ExternalFunctionType::withFirstDerivative);
           break;
         case 3:
-          fcall.set_function_type(ExternalFunctionWithFirstandSecondDerivative);
+          fcall.set_function_type(ExternalFunctionType::withFirstAndSecondDerivative);
           break;
         }
       fcall.write(CompileCode, instruction_number);
@@ -7156,7 +7156,7 @@ FirstDerivExternalFunctionNode::compileExternalFunctionOutput(ostream &CompileCo
       fcall.set_arg_func_name(datatree.symbol_table.getName(symb_id));
       fcall.set_row(inputIndex);
       fcall.set_nb_add_input_arguments(nb_add_input_arguments);
-      fcall.set_function_type(ExternalFunctionNumericalFirstDerivative);
+      fcall.set_function_type(ExternalFunctionType::numericalFirstDerivative);
       fcall.write(CompileCode, instruction_number);
       FSTPTEFD_ fstptefd(indx, inputIndex);
       fstptefd.write(CompileCode, instruction_number);
@@ -7171,7 +7171,7 @@ FirstDerivExternalFunctionNode::compileExternalFunctionOutput(ostream &CompileCo
       unsigned int nb_output_arguments = 1;
 
       FCALL_ fcall(nb_output_arguments, nb_add_input_arguments, datatree.symbol_table.getName(first_deriv_symb_id), indx);
-      fcall.set_function_type(ExternalFunctionFirstDerivative);
+      fcall.set_function_type(ExternalFunctionType::firstDerivative);
       fcall.write(CompileCode, instruction_number);
       FSTPTEFD_ fstptefd(indx, inputIndex);
       fstptefd.write(CompileCode, instruction_number);