Another way to create a selection of a very tight range of tones in your image is to use either the Threshold or Gradient Map adjustment layers. With the Threshold adjustment layer you define a luminosity value between 1-255, then create a stamped layer above this, copy this layer and you can paste it into a channel, anything below 125 and you'll need to invert the channel. This technique always benefits from a small amount of blur to smoothen out the pixel range.
Using a Gradient Map adjustment layer is a bit different, and also relies on the "Colour Range" selection tool which can be inefficient at the best of times, but combined with a hard coloured Gradient Map works quite well. Basically you create a Gradient Map layer then open the gradient editor and use a nice bright saturated blue for your blacks, then a nice bright saturated red for your whites, the create a third colour stop in the middle using either a white or a bright saturated green. Now you can move the position of your green colour stop to a specific tonal range in your original image, close down the blue and red to narrow the range of green. Now using Colour Range you sample greens only and adjust the fuziness to suit. This method gives you great control over what tones you want selected based on what pixels you make green using the Gradient Map. Attached is a quick example creating greens in a midtone and then using colour range to select the greens.