#include <dune/common/exceptions.hh>

template <> struct StringToEnum<Config::scheme> {
  static Config::scheme convert(std::string const &s) {
    if (s == "implicitEuler")
      return Config::ImplicitEuler;

    if (s == "newmark")
      return Config::Newmark;

    if (s == "eulerPair")
      return Config::EulerPair;

    DUNE_THROW(Dune::Exception, "failed to parse enum");
  }
};