To enhance contrast in midtones, there is an easy tips:
1. Duplicate layer.
2. Desaturate
3. Invert, so that we have the negative of the picture.
4. Gaussian blur to increase the density. Blur at 3 is sometimes enough.
5. Select blending mode of this layer as overlay, to set that the enhancement only applies to the midtones area.
6. Change the opacity of this layer as you want.
Now here's the explanation.
The desaturation and invert steps is actually making a global masking for the bottom layer. The overlay blending mode is a type of blending of a layer with a layer beneath it by blending the colors or pattern, but preserving the highlight and shadows. Here's the formal definition of overlay blending mode from PS:
Multiplies or screens the colors, depending on the base color. Patterns or color overlay the existing pixels while preserving the highlights and shadows of the base color. The base color is not replaced but is mixed with the blend color to reflect the lightness or darkness of the original color