They are kinda the same If you imagine you want to reduce power while stationary for example you could either do it by modulating the enable signal with a pwm or the suggested play with the reference voltage.
UPDATE
I was playing today with the analogWrite() istruction of arduino. The PWM-approach doesn't work.
By using the BED (Big Easy Driver) the stepper is fully powered when the ENABLE pin is LOW. On the other hand, is unpowered when the pin is HIGH.
I tried different duty-cycles (5%, 10%, etc.) to keep the enable-pin a little bit above the 0 voltage to get a smaller current. Unfortunately the stepper rotates in an abnormal way, with a lot of forward-and-back movements, a lot of noise, etc.
In other words: a disaster. It is not usable in such conditions.
The stepper works normally and smoothly when the duty cycle is zero or 255. Other values make the BED getting "confused" ( I was using a Pro Mini Arduino with PWM frequency equal to 490Hz). I suppose for reasons you write above.
It's a sin... it would be very nice if I could digitally control and modulate the current to the stepper, not only to reduce the temperature, but also to provide a different intensity of the motor force (torque) in different situations. That would be a real "game changer" for my project.
Maybe I should migrate to another driver? At the moment I have no idea of what driver board allows to modulate/regulate the current by using an Arduino-like micro-controller.