The supported terminal capability depends on your terminal emulator (xterm, ...). The terminal emulator should set the term info correctly. It does usually not make much sense to use "another terminal" (except maybe xterm-256color instead of xterm or if the $TERM variable is set wrongly).
You should use libraries like ncurses which deals automatically with the different terminal capability. Your program should not depend on a specific terminal.
The supported terminals are usually listed in `/lib/terminfo/*/*` or `/usr/share/terminfo/*/*`.