I proceeded with just specifying 8 ephemeral_block_device arguments. This is ok for now since I'm only orchestrating a few systems at a time.
In addition, according to AWS support, i can specify the max # of ephemeral drives (currently it's 8 across all instance types) in a template and I'll still be able to use the same template for instance types that have less. It won't error out. It will make all the ephemeral disks that instance type has available. This is apparently how the aws console works. You get the ephemeral disks even if you don't ask for them. this is not true when done through the API/cli. You get whatever your AMI was initially built with or what you ask for during terraform plan (API).