State changing functions such as energize() do not wait for confirmations before returning. Ethereum uses nonces to prevent attacks on the network, so sending too many transactions without waiting for confirmations may lead to nonce errors.
// Get the transaction
const tx =await nft.energize(...);
// Use wait() to sleep the thread until the transaction has confirmations