(0) сделать можно любым из описанных тобой способов. И еще сверху десяток наизобретать. А вот для того, чтобы осознанно выбрать правильный вариант, надо знать детали того, как это использоваться будет и посмотреть, как пользователям это будет удобнее вводить.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший