If all you want to do is restrict the list of replacements then you can use these kVals
instead:
kVals = Thread[{QuantityVariable["k1",
IndependentPhysicalQuantity[""]],
QuantityVariable["k2",
IndependentPhysicalQuantity[""]]} -> #] & /@ {{True,
False}, {False, True}};