I use hiera with defined types very similar to how folks were using hiera before puppet 3.
$enable_auto_index = hiera('nginx::enable_auto_index', 'false')
You can use whatever lookup key you like but I try and stick to the stander lookup key formula that puppet generates when using hiera with classes (nginx::vhost::enable_auto_index).
Additionally, you can also specify a default value (2nd parameter). If you don't specify this default then you would get compile errors during hiera lookups, which offers a similar protection to required parameters.