An NFVI is a cloud optimized for service providers grade networking functions. For example, the networking layer of OpenStack use Open vSwitch, which was only capable of 4 Gb/s of throughput all the way back to 2014 instead of way more than 10 Gb/s as of today. The same can be applied to NSX for VMware vSphere, but I'm a bit less familiar with that one.
In my enterprise, which is a service provider, we use OpenStack to run 30% of the whole mobile network packet core, so stuff like PCRF, S-GW, P-GW, HSS...
To answer your question, an NFVI can be used to run anything, from a simple Linux distro hosting a web client to a Cisco IOS XR9000K or a vASA. If you're only interested in running Cisco devicey, you might want to look at their ENCS serie: a box with a GUI like GNS3 (more or less, see an example below) where you can map an interfaces of a VM to a physical interface of the box. It even has a well-documented API to push new topology from a script.
