My preference is Option 1, since it’s the simplest change and, as far as I know, there are no user-facing issues today. Option 2 would be a backward-incompatible change (even if undocumented). Option 3 would require additional work to make it a supported and documented feature, and I’m not aware of a clear demand/use case yet.
For option 3, i don't see a use case other than one would want to have a different option of selectively picking input fields to map them to a subset of table columns, this is far from being similar to convert_selectively implementation (as the first is more complex), so option 1 seems like it.