Yes, TermInfo would be hard-coded, but at least all information would be in one place, not scattered across the Terminal class.
Also, this would open the door for other custom-detected terminal types, depending on the OS perhaps.  For example, you could detect if Rust is running on top of libuv-based IO stack and have a TermInfo variant corresponding to escapes that libuv supports.