Use `argparse`.

Note that all of your conversions are linear in one dimension. That means that you don't need two lambdas per conversion: just store a coefficient and offset from Kelvin for each temperature unit.

`names` should be a `set`.

Instead of `dataclass`, `NamedTuple` is a simpler alternative that is still frozen.

Later on I'll post example code demonstrating the above.