How to cycle through targets?

I am trying to make it to where when TAB is pressed, target is equal to targets[0], then targets[1], targets[2] (However long the array is) then repeat back from 0.

And also having trouble showing a texture icon to show which one is targeted currently. It shows up but farrrrr from the actual target.

here is what i have so far.

using UnityEngine;
using System.Collections;

public class T1_TargetSystem : MonoBehaviour
{
    public GameObject[] targets;
   
    private int currentTarget;
    private int totalTargets;

    public Transform target;
    public Texture2D image;

    Vector3 point;
    void Start()
    {
        
    }

    void Update()
    {
        target = targets[currentTarget];
        if (currentTarget == targets.Length)
        {
            currentTarget = 0;
        }
        targets = GameObject.FindGameObjectsWithTag("Enemy");
        if (currentTarget == totalTargets)
        {
            return;
        }
        else
        {
            // Find screen position for target
            point = Camera.main.WorldToScreenPoint(target.position);
            if (Input.GetKeyDown(KeyCode.Tab))
            {
                currentTarget++;
            }
        }
    }

    void OnGUI()
    {
        Rect rect = new Rect(point.x, point.y, 20, 20);
    }
}

//only create the array once (or when new targets are added)
void Start(){
targets = GameObject.FindGameObjectsWithTag(“Enemy”);
}

void Update(){
   if(Input.GetKeyDown(KeyCode.Tab)){
      currentTarget = currentTarget + 1 % targets.Length;
      target = targets[currentTarget];
   }
}

Why not just place an object in the 3D space above the intended target rather than trying to convert world space to screen space?

I got it to get rid of errors buy adding this but its not doing anything at all. no throws to console or anything

if (Input.GetKeyDown(KeyCode.Tab))
            {
                currentTarget = currentTarget + 1 % targets.Length;
                target = targets[currentTarget].transform;
            }