Di sicuro le devi definire nell'header file.
La #define bypassa i namespaces (mero copia incolla), mentre le variabili const possono essere definite all'interno dei namespaces evitando collisioni di nomi. Se poi vuoi maggiore espressività puoi fare:
codice:
struct speed {
    typedef int type;
    static const type fullstep = 1;
    static const type fulltorque = 2;
    static const type halfstep = 3;
};
"stepper.forward(speed::halfstep)"
Insomma la scelta è vasta (tralascio le enum class dato che non hai detto che compilatore usi)