There is a way to do this. It's takes a few steps, but can easily be recorded as an action.
Photoshop doesn't support HSL color natively, so first of all you need to download and install the HSB/HSL Filter from Adobe's site.
The filter changes an ordinary RGB image so the red, green and blue channels represent hue, saturation and lightness instead. It will look strange, but you can make manipulations and then convert it back to ordinary RGB.
I'm gonna use an example image with a lot of colors and your three chosen colors swatches. We just have a problem with the middle swatch: hsl(42, 0%, 42%). This color doesn't make sense in Photoshop (or anywhere else). Photoshop doesn't really work in either HSL or HSB. Every color is in the end stored as an RGB color. When saturation is set to 0% we actually have a neutral color. Photoshop (wrongly) displays the hue of neutral colors as 0° (red), but in reality it should be null or NaN - no hue. Photoshop can't store the hue of an unsaturated color, so the conversion of that particular color will not give the result you expect.
Here is our test image:

Use Filter > Other > HSB/HSL to change the RGB channels to represent HSL. Set Input Mode to RGB and Row Order to HSL:
The result looks like this:

In the Channels panel select the Green channel, which now represents saturation:

Press Ctrl/Cmd + I to invert the channel:

Select all RGB channels and Filter > Other > HSB/HSL the reverse way to convert the image back to ordinary RGB:

The result looks like this:

(Notice how the gray swatch defaults to red (hue: 0°). This will happen with all neutral pixels with this method since Photoshop can't store the hue of unsaturated pixels.)
hsl
you explicitly meanhsl
, nothsb
? Because with HSB it'd be easy to achieve but I'm not sure about HSL (Photoshop doesn't use HSL model)