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:
Insomma la scelta è vasta (tralascio le enum class dato che non hai detto che compilatore usi)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)"