Destroy object on hover?

I have a mini game which has 4 objects and a gameobject that when is hovered over them, they should destroy themselves, but the script is not working properly.

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class DestroyTestCS : MonoBehaviour {

	private int Seconds;
	public bool isDestroyed = false;
	private int count = 0;
	public Canvas miniGameCanvas;
	public Renderer rend;

	void Start(){
		rend = GetComponent<Renderer>();
		rend.enabled = false;
	}

	void Update(){
	}

	void OnCollisionEnter2D (Collision2D col){
			if (col.gameObject.tag == "laser") {
				Destroy (gameObject);
			}
		}

	public bool GetIsDestroyed(){return isDestroyed;}
	}

I’ve tried OnTriggerEnter2D and OnCollisionEnter2D but none of them seem to work. Help is highly appreciated.

So for anyone interested, the way I achieved this was that I added Rigidbody2D to every object I needed.

void OnCollisionEnter2D(Collision2D col){
      if(col.gameObject.tag == "laser"){
               Debug.Log("works!");
               Destroy(gameObject);
       }
}

This is the script I used after figuring out what was not working.