convertendo de int para enum

Eu declarei o seguinte enum:

  enum periods {one, five, ten, fifteen, thirty};

e agora eu quero passar isso como um argumento de linha de comando na minha função principal.

int main(int argc, char* argv[]) {

  periods mp;
  if (argc == 2) {
      std::string min_prd(argv[2]);
      mp=atoi(min_prd.c_str());
 }

e o compilador reclama:

error: invalid conversion from ‘int’ to ‘periods’

Eu fiz atoi () porque eu percebi que o enum é um int - como eu corrijo meu código?

questionAnswers(4)

yourAnswerToTheQuestion