Clear["Global`*"]
    
Create a wrapper for adding a [`Tooltip`](https://reference.wolfram.com/language/ref/Tooltip.html) to a [`Quantity`](https://reference.wolfram.com/language/ref/Quantity.html)
    
    qTooltip[q_Quantity, tt_String] :=
     Tooltip[QuantityForm[q, "Abbreviation"], tt]
    
Like other wrappers (e.g., [`MatrixForm`](https://reference.wolfram.com/language/ref/MatrixForm.html)), the wrapper should not be included in variable definitions.
    
    qTooltip[quant = Quantity[1, "Month"], "how to make it work?"]

    (* Tooltip[1*"mo", "how to make it work?", 
       TooltipStyle -> "TextStyling"] *)

The definition of `quant` does not include the wrapper.
    
    QuantityMagnitude[quant]
    
    (* 1 *)
    
    UnitConvert[quant, "days"]
    
    (* Quantity[365/12, "Days"] *)

**EDIT:** You do not necessarily need to restrict the tooltip to being a string, and you can default to a normal `Tooltip` for none quantities.

    Clear[qTooltip];
    
    plt[n_?NumericQ] := Plot[x^n, {x, 0, 1}];
    
    qTooltip[q_Quantity, tt_] :=
      Tooltip[QuantityForm[q, "Abbreviation"], tt];

    qTooltip[q_, tt_] := Tooltip[q, tt];

Examples (outputs deleted):
    
    qTooltip[quant = Quantity[1, "Month"], plt[1]]

    qTooltip[n = 3, plt[n]]