It seems the implementation is not very hard, we simply just add more helper functions that could handle the request to snapshot a subset of columns, since org.apache.cassandra.db.Table#snapshot is snapshotting columns one by one already.
One thing's worth discussing is how we support specifying both multi-tables and multi-columns simultaneously via NodeTool in CLI.
What i propose is we add a '-c' option, which will accept an argument as column names. Since an option can accept at most on argument, the argument can be formatted as comma separated string: "-c col1,col2,col3". When -c is absent, we default it to all columns. Does this sound ok?