Because of how UEFI handles the boot order, it's not as simple to change as it is on generation 1. (BIOS)
A thought would be to still read an array of enum values like the current BIOS config, and generate a PS script from that.
The generated script for a call could then look something like;
firmware.boot_order = [{NetworkAdapter: '<NIC ID>'}, {VHD: '<HD ID>'}, :VHD]
# Or possibly with fog models instead;
firmware.boot_order = [network_adapter.first, hard_drive.get('New disk')]
Because of how UEFI handles the boot order, it's not as simple to change as it is on generation 1. (BIOS)
A thought would be to still read an array of enum values like the current BIOS config, and generate a PS script from that. The generated script for a call could then look something like;