Io non sono una cima in ++ ma penso tu debba usare un cast)
#include <iostream>
#include <string>
using namespace std;
typedef struct scheda
{
string cliente;
float prezzo;
int quantita;
enum etype
{
stato1,
stato2,
stato3,
}stato;
}scheda;
int main ()
{
scheda foo;
int stato;
cin >> stato;
foo.stato=(scheda::etype)stato;
cout<<foo.stato;
return 0;
}