Alright, I did this and the arrow does fire as if the bow was drawn back 100%. Unfortunately the bow still goes through the entire draw-back animation. My code now:
EntityPlayer player = (EntityPlayer) entity;
ItemStack heldItem = player.getHeldItemMainhand();
if (heldItem != null && heldItem.getItem() instanceof ItemBow && this.getEnchantmentLevel(heldItem) > 0) {
//player.setItemInUse(heldItem, heldItem.getMaxItemUseDuration() / 3);
ReflectionHelper.setPrivateValue(EntityLivingBase.class, player, heldItem, "activeItemStack", "field_184627_bm");
ReflectionHelper.setPrivateValue(EntityLivingBase.class, player, heldItem.getMaxItemUseDuration() / 3, "activeItemStackUseCount", "field_184628_bn");
player.getDataManager().set(ReflectionHelper.getPrivateValue(EntityLivingBase.class, player, "HAND_STATES", "field_184621_as"), (byte) 1);
((ArrowNockEvent) baseEvent).setAction(new ActionResult<>(EnumActionResult.SUCCESS, heldItem));
}