AccelStepper setEnablePin(...) function?

I am driving a unipolar stepper motor with this library.
But I am not clear on this function.

Is it using a separate standalone pin to disable or enable the stepper motor?
Such as if I use an optical switch to detect the end limit of a CNC engraver axis?
What if I want to detect two limits of a CNC engraver axis, i.e. origin and end limit?

    /// Sets the enable pin number for stepper drivers.
    /// 0xFF indicates unused (default).
    /// Otherwise, if a pin is set, the pin will be turned on when 
    /// enableOutputs() is called and switched off when disableOutputs() 
    /// is called.
    /// \param[in] enablePin Arduino digital pin number for motor enable
    /// \sa setPinsInverted
    void    setEnablePin(uint8_t enablePin = 0xff);

The enable is to disable (turn off power to) the stepper driver outputs. Not for limit switches.

groundFungus:
The enable is to disable (turn off power to) the stepper driver outputs. Not for limit switches.

Well I don't understand from the description what the purpose of this function is.

Is it purely a user/software implementation or do some stepper motors actually have a physical disable pin?

Stepper drivers have the disable pin. Like pin 1 on a DRV8825 or A4988 driver. Making the enable pin HIGH on those drivers turns off the outputs to the stepper. Like on my 3D printer, I can disable the steppers so that I can move the axis by hand while leveling the bed.

groundFungus:
Stepper drivers have the disable pin. Like pin 1 on a DRV8825 or A4988 driver. Making the enable pin HIGH on those drivers turns off the outputs to the stepper. Like on my 3D printer, I can disable the steppers so that I can move the axis by hand while leveling the bed.

OK now it makes sense to me - thanks.